Skip to content

Commit 668c53f

Browse files
committed
fix: ensure correct token_type in response
1 parent f92b2b9 commit 668c53f

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

packages/client/lib/AccessTokenClient.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,13 @@ export class AccessTokenClient {
9595
if (createDPoPOpts?.dPoPSigningAlgValuesSupported && createDPoPOpts.dPoPSigningAlgValuesSupported.length > 0) {
9696
dPoP = createDPoPOpts ? await createDPoP(getCreateDPoPOptions(createDPoPOpts, requestTokenURL)) : undefined;
9797
}
98-
return this.sendAuthCode(requestTokenURL, accessTokenRequest, dPoP ? { headers: { dPoP } } : undefined);
98+
const response = await this.sendAuthCode(requestTokenURL, accessTokenRequest, dPoP ? { headers: { dPoP } } : undefined);
99+
100+
if (response.successBody && createDPoPOpts && createDPoPOpts && response.successBody.token_type !== 'DPoP') {
101+
throw new Error('Invalid token type returned. Expected DPoP. Received: ' + response.successBody.token_type);
102+
}
103+
104+
return response;
99105
}
100106

101107
public async createAccessTokenRequest(opts: Omit<AccessTokenRequestOpts, 'createDPoPOpts'>): Promise<AccessTokenRequest> {

packages/client/lib/AccessTokenClientV1_0_11.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,13 @@ export class AccessTokenClientV1_0_11 {
100100
dPoP = createDPoPOpts ? await createDPoP(getCreateDPoPOptions(createDPoPOpts, requestTokenURL)) : undefined;
101101
}
102102

103-
return this.sendAuthCode(requestTokenURL, accessTokenRequest, dPoP ? { headers: { dPoP } } : undefined);
103+
const response = await this.sendAuthCode(requestTokenURL, accessTokenRequest, dPoP ? { headers: { dPoP } } : undefined);
104+
105+
if (response.successBody && createDPoPOpts && createDPoPOpts && response.successBody.token_type !== 'DPoP') {
106+
throw new Error('Invalid token type returned. Expected DPoP. Received: ' + response.successBody.token_type);
107+
}
108+
109+
return response;
104110
}
105111

106112
public async createAccessTokenRequest(opts: Omit<AccessTokenRequestOpts, 'createDPoPOpts'>): Promise<AccessTokenRequest> {

0 commit comments

Comments
 (0)