Skip to content

Commit ae3b5d0

Browse files
committed
Specify revoke token return type and test for failure
1 parent 874766d commit ae3b5d0

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/PKCE.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ export default class PKCE {
113113
}).then((response) => response.json());
114114
}
115115

116-
public revokeToken(tokenToExpire: string, hint: string = '') {
116+
public revokeToken(tokenToExpire: string, hint: string = ''): Promise<boolean> {
117117
this.checkEndpoint('revoke_endpoint');
118118
const params = new URLSearchParams({
119119
token: tokenToExpire,
@@ -128,7 +128,8 @@ export default class PKCE {
128128
headers: {
129129
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
130130
},
131-
}).then((response) => response.json());
131+
}).then((response) => response.ok)
132+
.catch(() => false);
132133
}
133134

134135
private checkEndpoint(propertyName: string) {

tests/PKCE.test.ts

+15-1
Original file line numberDiff line numberDiff line change
@@ -216,12 +216,26 @@ describe('Test PCKE revoke token', () => {
216216

217217
it('Should make a request to revoke token endpoint', async () => {
218218
const url = 'https://example.com/revoke';
219-
await mockRequest({revoke_endpoint: url});
219+
const ok = await mockRequest({revoke_endpoint: url});
220220

221+
expect(ok).toEqual(true);
221222
expect(fetch.mock.calls.length).toEqual(1);
222223
expect(fetch.mock.calls[0][0]).toEqual(url);
223224
});
224225

226+
it('Should return false on error response', async () => {
227+
const instance = new PKCE({
228+
...config,
229+
revoke_endpoint: 'https://example.com/revoke'
230+
});
231+
232+
fetch.resetMocks();
233+
fetch.mockReject(new Error('fake error message'))
234+
const ok = await instance.revokeToken('atoken');
235+
236+
expect(ok).toEqual(false);
237+
});
238+
225239
it('Should request with headers', async () => {
226240
const url = 'https://example.com/revoke';
227241
await mockRequest({revoke_endpoint: url});

0 commit comments

Comments
 (0)