Skip to content

Commit

Permalink
feat: allow maxAge for the refresh token to be set.
Browse files Browse the repository at this point in the history
  • Loading branch information
codiam committed Apr 27, 2023
1 parent 50370f7 commit c9fa234
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
16 changes: 13 additions & 3 deletions src/module.ts
Expand Up @@ -58,6 +58,13 @@ export interface ModuleOptions {
* @type string
*/
redirectOnLogin?: string;

/**
* The max age for the refresh token cookie in seconds.
* This should match your directus env key REFRESH_TOKEN_TTL
* @type string
*/
maxAgeRefreshToken?: number;
}

export default defineNuxtModule<ModuleOptions>({
Expand All @@ -75,7 +82,8 @@ export default defineNuxtModule<ModuleOptions>({
autoRefresh: false,
devtools: false,
cookieNameToken: 'directus_token',
cookieNameRefreshToken: 'directus_refresh_token'
cookieNameRefreshToken: 'directus_refresh_token',
maxAgeRefreshToken: 604800
},
setup (options, nuxt) {
// Nuxt 2 / Bridge
Expand All @@ -91,7 +99,8 @@ export default defineNuxtModule<ModuleOptions>({
token: options.token,
devtools: options.devtools,
cookieNameToken: options.cookieNameToken,
cookieNameRefreshToken: options.cookieNameRefreshToken
cookieNameRefreshToken: options.cookieNameRefreshToken,
maxAgeRefreshToken: options.maxAgeRefreshToken
}
)
}
Expand All @@ -107,7 +116,8 @@ export default defineNuxtModule<ModuleOptions>({
token: options.token,
devtools: options.devtools,
cookieNameToken: options.cookieNameToken,
cookieNameRefreshToken: options.cookieNameRefreshToken
cookieNameRefreshToken: options.cookieNameRefreshToken,
maxAgeRefreshToken: options.maxAgeRefreshToken
})

const runtimeDir = fileURLToPath(new URL('./runtime', import.meta.url))
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/composables/useDirectusToken.ts
Expand Up @@ -24,7 +24,7 @@ export const useDirectusToken = () => {
return nuxtApp._cookies[config.directus.cookieNameRefreshToken]
}

const cookie = useCookie<string | null>(config.directus.cookieNameRefreshToken)
const cookie = useCookie<string | null>(config.directus.cookieNameRefreshToken, { maxAge: config.maxAgeRefreshToken })
nuxtApp._cookies[config.directus.cookieNameRefreshToken] = cookie
return cookie
}
Expand Down

0 comments on commit c9fa234

Please sign in to comment.