Utilities for managing cookies and JWT tokens in logto-authkit applications.
Cookie Utilities
General-purpose cookie management functions.
cookieUtils.setCookie
Set a cookie with the given name, value, and options.
cookieUtils.setCookie(
name: string,
value: string,
options?: CookieOptions
): void
Cookie configuration options
CookieOptions
Expiration date (Date object) or number of days until expiration
secure
boolean
default:"window.location.protocol === 'https:'"
Whether cookie requires HTTPS
sameSite
'strict' | 'lax' | 'none'
default:"lax"
SameSite cookie attribute
Whether cookie is HTTP-only (not accessible via JavaScript)
Example:
import { cookieUtils } from '@ouim/logto-authkit'
// Set a cookie that expires in 7 days
cookieUtils.setCookie('user_preference', 'dark-mode', {
expires: 7,
secure: true,
sameSite: 'strict'
})
// Set a cookie with a specific expiration date
cookieUtils.setCookie('session', 'abc123', {
expires: new Date('2026-12-31'),
path: '/'
})
cookieUtils.getCookie
Get a cookie value by name.
cookieUtils.getCookie(name: string): string | null
The cookie name to retrieve
Returns: string | null - The cookie value, or null if not found
Example:
import { cookieUtils } from '@ouim/logto-authkit'
const preference = cookieUtils.getCookie('user_preference')
if (preference === 'dark-mode') {
// Enable dark mode
}
cookieUtils.removeCookie
Remove a cookie by name.
cookieUtils.removeCookie(
name: string,
options?: RemoveCookieOptions
): void
The cookie name to remove
Cookie removal options (domain and path must match the original cookie)
RemoveCookieOptions
Cookie domain (must match original)
Cookie path (must match original)
Example:
import { cookieUtils } from '@ouim/logto-authkit'
cookieUtils.removeCookie('user_preference', { path: '/' })
JWT Token Utilities
Specialized utilities for managing JWT authentication tokens.
jwtCookieUtils.saveToken
Save a JWT token to a secure cookie.
jwtCookieUtils.saveToken(token: string): void
Cookie details:
- Name:
logto_authtoken
- Expires: 7 days
- Secure: true (HTTPS only)
- SameSite: strict
- Path: /
Example:
import { jwtCookieUtils } from '@ouim/logto-authkit'
// After successful authentication
const token = await getAccessToken()
jwtCookieUtils.saveToken(token)
jwtCookieUtils.getToken
Retrieve the JWT token from the cookie.
jwtCookieUtils.getToken(): string | null
Returns: string | null - The JWT token, or null if not found
Example:
import { jwtCookieUtils } from '@ouim/logto-authkit'
const token = jwtCookieUtils.getToken()
if (token) {
// Make authenticated API request
fetch('/api/user', {
headers: {
Authorization: `Bearer ${token}`
}
})
}
jwtCookieUtils.removeToken
Remove the JWT token cookie.
jwtCookieUtils.removeToken(): void
Example:
import { jwtCookieUtils } from '@ouim/logto-authkit'
// On sign out
function handleSignOut() {
jwtCookieUtils.removeToken()
// Redirect to login page
}
Configuration Validation
validateLogtoConfig
Validate Logto configuration for required fields.
validateLogtoConfig(config: LogtoConfig): void
The Logto configuration object to validate
Throws: Error if configuration is invalid or missing required fields
Example:
import { validateLogtoConfig } from '@ouim/logto-authkit'
import type { LogtoConfig } from '@logto/react'
const config: LogtoConfig = {
endpoint: 'https://your-tenant.logto.app',
appId: 'your-app-id',
resources: ['https://api.example.com']
}
try {
validateLogtoConfig(config)
console.log('Config is valid')
} catch (error) {
console.error('Invalid config:', error.message)
}
The library uses internal utilities for transforming user data and generating guest IDs. These utilities are used automatically by the AuthProvider and do not need to be called directly.