@@ -46,7 +46,8 @@ export async function signup(
4646 `📧 Verify email: ${ process . env . FRONTEND_URL } /verify-email?token=${ verificationToken } `
4747 ) ;
4848
49- const { accessToken, refreshToken } = await issueTokens ( user , meta ) ;
49+ const familyId = generateFamilyId ( ) ;
50+ const { accessToken, refreshToken } = await issueTokens ( user , meta , familyId ) ;
5051
5152 return {
5253 user : presentUser ( user ) ,
@@ -72,7 +73,8 @@ export async function login(
7273 throw new UnauthorizedError ( "Invalid credentials" ) ;
7374 }
7475
75- const { accessToken, refreshToken } = await issueTokens ( user , meta ) ;
76+ const familyId = generateFamilyId ( ) ;
77+ const { accessToken, refreshToken } = await issueTokens ( user , meta , familyId ) ;
7678
7779 return {
7880 user : presentUser ( user ) ,
@@ -95,24 +97,23 @@ export async function refresh(refreshToken: string, meta: RequestMeta) {
9597
9698 await AuthRepo . revokeTokenFamily ( stored . familyId ) ;
9799
98- return issueTokens ( user , meta ) ;
100+ return issueTokens ( user , meta , stored . familyId ) ;
99101}
100102
101103export async function logout ( refreshToken : string ) {
102104 const tokenHash = hashToken ( refreshToken ) ;
103105 await AuthRepo . revokeRefreshToken ( tokenHash ) ;
104106}
105107
106- async function issueTokens ( user : any , meta : RequestMeta ) {
108+ async function issueTokens ( user : any , meta : RequestMeta , familyId : string ) {
107109 const accessToken = signAccessToken ( user . id , user . role , user . isReadOnly ) ;
108110
109111 const refreshToken = generateOpaqueToken ( ) ;
110- const familyId = generateFamilyId ( ) ;
111112
112113 await AuthRepo . saveRefreshToken ( {
113114 userId : user . id ,
114115 tokenHash : hashToken ( refreshToken ) ,
115- familyId,
116+ familyId : familyId ,
116117 expiresAt : new Date ( Date . now ( ) + REFRESH_TOKEN_TTL ) ,
117118 ipAddress : meta . ip ,
118119 userAgent : meta . userAgent ,
0 commit comments