Skip to content

Commit 10ca5ed

Browse files
Refactor instance ID handling in authorization flow and update state parameter format
1 parent 7faa052 commit 10ca5ed

3 files changed

Lines changed: 8 additions & 3 deletions

File tree

packages/browser/src/utils/hasCalledForThisInstanceInUrl.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* @return `true` if the URL contains a matching `state` search param, otherwise `false`.
2525
*/
2626
const hasCalledForThisInstanceInUrl = (instanceId: number, params: string = window.location.search): boolean => {
27-
const MATCHER: RegExp = new RegExp(`[?&]state=instance_${instanceId}-[^&]+`);
27+
const MATCHER: RegExp = new RegExp(`[?&]state=instance_${instanceId}_[^&]+`);
2828

2929
return MATCHER.test(params);
3030
};

packages/javascript/src/__legacy__/client.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,6 @@ export class AsgardeoAuthClient<T> {
250250
authRequestConfig['client_secret'] = configData.clientSecret;
251251
}
252252

253-
authRequestConfig['state'] = 'instance_' + this.getInstanceId() + '-' + configData.clientId;
254-
255253
const authorizeRequestParams: Map<string, string> = getAuthorizeRequestUrlParams(
256254
{
257255
clientId: configData.clientId,
@@ -261,6 +259,7 @@ export class AsgardeoAuthClient<T> {
261259
redirectUri: configData.afterSignInUrl,
262260
responseMode: configData.responseMode,
263261
scopes: processOpenIDScopes(configData.scopes),
262+
instanceId: this.getInstanceId().toString(),
264263
},
265264
{key: pkceKey},
266265
authRequestConfig,

packages/javascript/src/utils/getAuthorizeRequestUrlParams.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ const getAuthorizeRequestUrlParams = (
5959
redirectUri: string;
6060
responseMode?: string;
6161
scopes?: string;
62+
instanceId?: string;
6263
} & ExtendedAuthorizeRequestUrlParams,
6364
pkceOptions: {key: string},
6465
customParams: Record<string, string | number | boolean>,
@@ -105,6 +106,11 @@ const getAuthorizeRequestUrlParams = (
105106
});
106107
}
107108

109+
if (options.instanceId) {
110+
const AUTH_INSTANCE_PREFIX = "instance_";
111+
customParams[OIDCRequestConstants.Params.STATE] = AUTH_INSTANCE_PREFIX + options.instanceId;
112+
}
113+
108114
authorizeRequestParams.set(
109115
OIDCRequestConstants.Params.STATE,
110116
generateStateParamForRequestCorrelation(

0 commit comments

Comments
 (0)