Skip to content

Commit e639a87

Browse files
committed
feat: add idToken support in AuthClient
1 parent 724310c commit e639a87

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

src/server/auth-client.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2146,6 +2146,7 @@ ca/T0LLtgmbMmxSv/MmzIg==
21462146
tokenSet: {
21472147
accessToken: DEFAULT.accessToken,
21482148
refreshToken: DEFAULT.refreshToken,
2149+
idToken: expect.stringMatching(/^eyJhbGciOiJSUzI1NiJ9\..+\..+$/),
21492150
expiresAt: expect.any(Number)
21502151
},
21512152
internal: {
@@ -2253,6 +2254,7 @@ ca/T0LLtgmbMmxSv/MmzIg==
22532254
},
22542255
tokenSet: {
22552256
accessToken: DEFAULT.accessToken,
2257+
idToken: expect.any(String),
22562258
refreshToken: DEFAULT.refreshToken,
22572259
expiresAt: expect.any(Number)
22582260
},
@@ -2597,6 +2599,7 @@ ca/T0LLtgmbMmxSv/MmzIg==
25972599
tokenSet: {
25982600
accessToken: DEFAULT.accessToken,
25992601
refreshToken: DEFAULT.refreshToken,
2602+
idToken: expect.any(String),
26002603
expiresAt: expect.any(Number)
26012604
},
26022605
internal: {
@@ -2990,6 +2993,7 @@ ca/T0LLtgmbMmxSv/MmzIg==
29902993
tokenSet: {
29912994
accessToken: DEFAULT.accessToken,
29922995
refreshToken: DEFAULT.refreshToken,
2996+
idToken: expect.any(String),
29932997
expiresAt: expect.any(Number)
29942998
},
29952999
internal: {
@@ -3084,6 +3088,7 @@ ca/T0LLtgmbMmxSv/MmzIg==
30843088
tokenSet: {
30853089
accessToken: DEFAULT.accessToken,
30863090
refreshToken: DEFAULT.refreshToken,
3091+
idToken: expect.any(String),
30873092
expiresAt: expect.any(Number)
30883093
},
30893094
internal: {
@@ -3213,6 +3218,7 @@ ca/T0LLtgmbMmxSv/MmzIg==
32133218
tokenSet: {
32143219
accessToken: DEFAULT.accessToken,
32153220
refreshToken: DEFAULT.refreshToken,
3221+
idToken: expect.any(String),
32163222
expiresAt: expect.any(Number)
32173223
},
32183224
internal: {

src/server/auth-client.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,7 @@ export class AuthClient {
476476
user: idTokenClaims,
477477
tokenSet: {
478478
accessToken: oidcRes.access_token,
479+
idToken: oidcRes.id_token,
479480
scope: oidcRes.scope,
480481
refreshToken: oidcRes.refresh_token,
481482
expiresAt: Math.floor(Date.now() / 1000) + Number(oidcRes.expires_in)
@@ -551,7 +552,6 @@ export class AuthClient {
551552
}
552553
);
553554
}
554-
555555
const res = NextResponse.json({
556556
token: updatedTokenSet.accessToken,
557557
scope: updatedTokenSet.scope,
@@ -670,6 +670,7 @@ export class AuthClient {
670670
const updatedTokenSet = {
671671
...tokenSet, // contains the existing `iat` claim to maintain the session lifetime
672672
accessToken: oauthRes.access_token,
673+
idToken: oauthRes.id_token,
673674
expiresAt: accessTokenExpiresAt
674675
};
675676

src/types/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
export interface TokenSet {
22
accessToken: string;
3+
idToken?: string;
34
scope?: string;
45
refreshToken?: string;
56
expiresAt: number; // the time at which the access token expires in seconds since epoch

0 commit comments

Comments
 (0)