@@ -63,18 +63,21 @@ export function createCookieGetter(options: BetterAuthOptions) {
6363 const attributes =
6464 options . advanced ?. cookies ?. [ cookieName as "session_token" ] ?. attributes ;
6565
66+ const resolvedAttributes : CookieOptions = {
67+ secure : ! ! secureCookiePrefix ,
68+ sameSite : "lax" ,
69+ path : "/" ,
70+ httpOnly : true ,
71+ ...( crossSubdomainEnabled ? { domain } : { } ) ,
72+ ...options . advanced ?. defaultCookieAttributes ,
73+ ...overrideAttributes ,
74+ ...attributes ,
75+ } ;
76+
6677 return {
6778 name : `${ secureCookiePrefix } ${ name } ` ,
68- attributes : {
69- secure : ! ! secureCookiePrefix ,
70- sameSite : "lax" ,
71- path : "/" ,
72- httpOnly : true ,
73- ...( crossSubdomainEnabled ? { domain } : { } ) ,
74- ...options . advanced ?. defaultCookieAttributes ,
75- ...overrideAttributes ,
76- ...attributes ,
77- } ,
79+ attributes : resolvedAttributes ,
80+ options : resolvedAttributes ,
7881 } satisfies BetterAuthCookie ;
7982 }
8083 return createCookie ;
@@ -97,6 +100,7 @@ export function getCookies(options: BetterAuthOptions) {
97100 sessionToken : {
98101 name : sessionToken . name ,
99102 attributes : sessionToken . attributes ,
103+ options : sessionToken . attributes ,
100104 } ,
101105 /**
102106 * This cookie is used to store the session data in the cookie
@@ -105,14 +109,17 @@ export function getCookies(options: BetterAuthOptions) {
105109 sessionData : {
106110 name : sessionData . name ,
107111 attributes : sessionData . attributes ,
112+ options : sessionData . attributes ,
108113 } ,
109114 dontRememberToken : {
110115 name : dontRememberToken . name ,
111116 attributes : dontRememberToken . attributes ,
117+ options : dontRememberToken . attributes ,
112118 } ,
113119 accountData : {
114120 name : accountData . name ,
115121 attributes : accountData . attributes ,
122+ options : accountData . attributes ,
116123 } ,
117124 } ;
118125}
@@ -283,7 +290,7 @@ export async function setSessionCookie(
283290 */
284291export function expireCookie (
285292 ctx : GenericEndpointContext ,
286- cookie : BetterAuthCookie ,
293+ cookie : Pick < BetterAuthCookie , "name" | "attributes" > ,
287294) {
288295 ctx . setCookie ( cookie . name , "" , {
289296 ...cookie . attributes ,
0 commit comments