Skip to main content
Utilities for managing cookies and JWT tokens in logto-authkit applications. 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
name
string
required
The cookie name
value
string
required
The cookie value
options
CookieOptions
Cookie configuration options

CookieOptions

expires
Date | number
Expiration date (Date object) or number of days until expiration
maxAge
number
Maximum age in seconds
domain
string
Cookie domain
path
string
default:"/"
Cookie path
secure
boolean
default:"window.location.protocol === 'https:'"
Whether cookie requires HTTPS
sameSite
'strict' | 'lax' | 'none'
default:"lax"
SameSite cookie attribute
httpOnly
boolean
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
name
string
required
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
name
string
required
The cookie name to remove
options
RemoveCookieOptions
Cookie removal options (domain and path must match the original cookie)

RemoveCookieOptions

domain
string
Cookie domain (must match original)
path
string
default:"/"
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
token
string
required
The JWT token to save
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
config
LogtoConfig
required
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.