@@ -45,17 +45,18 @@ export async function refreshSession(request: Request, { organizationId }: { org
45
45
}
46
46
47
47
try {
48
- const { accessToken, refreshToken } = await getWorkOS ( ) . userManagement . authenticateWithRefreshToken ( {
49
- clientId : getConfig ( 'clientId' ) ,
50
- refreshToken : session . refreshToken ,
51
- organizationId,
52
- } ) ;
48
+ const { accessToken, refreshToken, user, impersonator } =
49
+ await getWorkOS ( ) . userManagement . authenticateWithRefreshToken ( {
50
+ clientId : getConfig ( 'clientId' ) ,
51
+ refreshToken : session . refreshToken ,
52
+ organizationId,
53
+ } ) ;
53
54
54
55
const newSession = {
55
56
accessToken,
56
57
refreshToken,
57
- user : session . user ,
58
- impersonator : session . impersonator ,
58
+ user,
59
+ impersonator,
59
60
headers : { } as Record < string , string > ,
60
61
} ;
61
62
@@ -77,15 +78,15 @@ export async function refreshSession(request: Request, { organizationId }: { org
77
78
} = getClaimsFromAccessToken ( accessToken ) ;
78
79
79
80
return {
80
- user : session . user ,
81
+ user,
81
82
sessionId,
82
83
accessToken,
83
84
organizationId : newOrgId ,
84
85
role,
85
86
permissions,
86
87
entitlements,
87
88
featureFlags,
88
- impersonator : session . impersonator || null ,
89
+ impersonator : impersonator ?? null ,
89
90
sealedSession : cookieSession . get ( 'jwt' ) ,
90
91
headers : newSession . headers ,
91
92
} ;
@@ -119,20 +120,21 @@ async function updateSession(request: Request, debug: boolean) {
119
120
120
121
const { organizationId } = getClaimsFromAccessToken ( session . accessToken ) ;
121
122
// If the session is invalid (i.e. the access token has expired) attempt to re-authenticate with the refresh token
122
- const { accessToken, refreshToken } = await getWorkOS ( ) . userManagement . authenticateWithRefreshToken ( {
123
- clientId : getConfig ( 'clientId' ) ,
124
- refreshToken : session . refreshToken ,
125
- organizationId,
126
- } ) ;
123
+ const { accessToken, refreshToken, user, impersonator } =
124
+ await getWorkOS ( ) . userManagement . authenticateWithRefreshToken ( {
125
+ clientId : getConfig ( 'clientId' ) ,
126
+ refreshToken : session . refreshToken ,
127
+ organizationId,
128
+ } ) ;
127
129
128
130
// istanbul ignore next
129
131
if ( debug ) console . log ( `Refresh successful. New access token ends in ${ accessToken . slice ( - 10 ) } ` ) ;
130
132
131
133
const newSession = {
132
134
accessToken,
133
135
refreshToken,
134
- user : session . user ,
135
- impersonator : session . impersonator ,
136
+ user,
137
+ impersonator,
136
138
headers : { } ,
137
139
} ;
138
140
0 commit comments