From 0637b49056e0bdab85697b79f6d0b1bf5193d7c0 Mon Sep 17 00:00:00 2001 From: Valentin Laurin Date: Mon, 28 Apr 2025 17:10:25 +0100 Subject: [PATCH] Pass custom params for client credentials request Allow additional query params to be provided via config for client credentials grant. --- src/modules/oauth2/client-credentials.js | 1 + src/modules/oauth2/client-credentials.test.js | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/modules/oauth2/client-credentials.js b/src/modules/oauth2/client-credentials.js index 1c07b49..e33926a 100644 --- a/src/modules/oauth2/client-credentials.js +++ b/src/modules/oauth2/client-credentials.js @@ -42,5 +42,6 @@ const getNewToken = async (config) => extractToken(await postToken(config, param const extractToken = (response) => response.data.access_token; const params = (config) => ({ + ...config, grant_type: 'client_credentials', }); diff --git a/src/modules/oauth2/client-credentials.test.js b/src/modules/oauth2/client-credentials.test.js index 7c9ca71..0f0a81b 100644 --- a/src/modules/oauth2/client-credentials.test.js +++ b/src/modules/oauth2/client-credentials.test.js @@ -10,6 +10,7 @@ describe('clientAccessTokenProvider', () => { tokenEndpoint: 'https://idam/oauth2/token', clientId: 'client-123', clientSecret: 'secret-123', + scope: 'some/scope', }); beforeEach(() => { @@ -27,6 +28,7 @@ describe('clientAccessTokenProvider', () => { expect(lastPost[0]).toEqual('https://idam/oauth2/token'); expect(lastPost[1].get('grant_type')).toEqual('client_credentials'); + expect(lastPost[1].get('scope')).toEqual('some/scope'); expect(lastPost[2]).toEqual({ headers: { authorization: 'Basic Y2xpZW50LTEyMzpzZWNyZXQtMTIz',