Skip to content

Commit db59fd3

Browse files
committed
feat: added cookie settings for the security util
1 parent c6f2c2d commit db59fd3

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/module.ts

+10
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,16 @@ export default defineNuxtModule<ModuleOptions>({
7070
sameSite: 'lax'
7171
}
7272
})
73+
// Security settings
74+
runtimeConfig.nuxtAuthUtils = defu(runtimeConfig.nuxtAuthUtils, {})
75+
runtimeConfig.nuxtAuthUtils.security = defu(runtimeConfig.nuxtAuthUtils.security, {
76+
cookie: {
77+
secure: true,
78+
httpOnly: true,
79+
sameSite: 'lax',
80+
maxAge: 60 * 15
81+
}
82+
})
7383
// OAuth settings
7484
runtimeConfig.oauth = defu(runtimeConfig.oauth, {})
7585
// GitHub OAuth

src/runtime/server/utils/security.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -63,16 +63,17 @@ export const checks = {
6363
*/
6464
async create(event: H3Event, checks?: OAuthChecks[]) {
6565
const res: Record<string, string> = {}
66+
const runtimeConfig = useRuntimeConfig()
6667
if (checks?.includes('pkce')) {
6768
const pkceVerifier = generateCodeVerifier()
6869
const pkceChallenge = await pkceCodeChallenge(pkceVerifier)
6970
res['code_challenge'] = pkceChallenge
7071
res['code_challenge_method'] = 'S256'
71-
setCookie(event, 'nuxt-auth-util-verifier', pkceVerifier, { maxAge: 60 * 15, secure: true, httpOnly: true, sameSite: 'lax' })
72+
setCookie(event, 'nuxt-auth-util-verifier', pkceVerifier, runtimeConfig.nuxtAuthUtils.security.cookie)
7273
}
7374
if (checks?.includes('state')) {
7475
res['state'] = generateState()
75-
setCookie(event, 'nuxt-auth-util-state', res['state'], { maxAge: 60 * 15, secure: true, httpOnly: true, sameSite: 'lax' })
76+
setCookie(event, 'nuxt-auth-util-state', res['state'], runtimeConfig.nuxtAuthUtils.security.cookie)
7677
}
7778
return res
7879
},

0 commit comments

Comments
 (0)