Skip to content

Commit 003a017

Browse files
committed
Fix: OAuth 2.0 Grant Type Authorization: "invalid_client" error / URL Encode of Client ID
#2115 #1003
1 parent d24c0ba commit 003a017

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

packages/bruno-electron/src/ipc/network/oauth2-helper.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,22 +48,23 @@ const getOAuth2AuthorizationCode = (request, codeChallenge, collectionUid) => {
4848
const { oauth2 } = request;
4949
const { callbackUrl, clientId, authorizationUrl, scope, pkce } = oauth2;
5050

51-
let oauth2QueryParams =
52-
(authorizationUrl.indexOf('?') > -1 ? '&' : '?') + `client_id=${clientId}&response_type=code`;
51+
const authorizationUrlWithQueryParams = new URL(authorizationUrl);
52+
authorizationUrlWithQueryParams.searchParams.append('response_type', 'code');
53+
authorizationUrlWithQueryParams.searchParams.append('client_id', clientId);
5354
if (callbackUrl) {
54-
oauth2QueryParams += `&redirect_uri=${callbackUrl}`;
55+
authorizationUrlWithQueryParams.searchParams.append('redirect_uri', callbackUrl);
5556
}
5657
if (scope) {
57-
oauth2QueryParams += `&scope=${scope}`;
58+
authorizationUrlWithQueryParams.searchParams.append('scope', scope);
5859
}
5960
if (pkce) {
60-
oauth2QueryParams += `&code_challenge=${codeChallenge}&code_challenge_method=S256`;
61+
authorizationUrlWithQueryParams.searchParams.append('code_challenge', codeChallenge);
62+
authorizationUrlWithQueryParams.searchParams.append('code_challenge_method', 'S256');
6163
}
62-
const authorizationUrlWithQueryParams = authorizationUrl + oauth2QueryParams;
6364
try {
6465
const oauth2Store = new Oauth2Store();
6566
const { authorizationCode } = await authorizeUserInWindow({
66-
authorizeUrl: authorizationUrlWithQueryParams,
67+
authorizeUrl: authorizationUrlWithQueryParams.toString(),
6768
callbackUrl,
6869
session: oauth2Store.getSessionIdOfCollection(collectionUid)
6970
});

0 commit comments

Comments
 (0)