From 6fd4baf052803a53f1b2e86e829921b195cd2d38 Mon Sep 17 00:00:00 2001 From: Adrienne Rio Date: Fri, 7 Feb 2025 15:27:39 +0800 Subject: [PATCH 1/3] chore: fix logout redirect uri wrong url reconstruction --- src/oidc/oidc.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/oidc/oidc.ts b/src/oidc/oidc.ts index 200b8ab..5f33d21 100644 --- a/src/oidc/oidc.ts +++ b/src/oidc/oidc.ts @@ -133,7 +133,7 @@ export const requestOidcAuthentication = async (options: RequestOidcAuthenticati await userManager.signinRedirect({ extraQueryParams: { - brand: "deriv" + brand: 'deriv', }, }); return { userManager }; @@ -293,7 +293,7 @@ export const OAuth2Logout = async (options: OAuth2LogoutOptions) => { }); const userState = await userManager.getUser(); if (userState?.id_token) { - logoutUrl += `?id_token_hint=${userState.id_token}&post_logout_redirect_uri${options.postLogoutRedirectUri}`; + logoutUrl += `?id_token_hint=${userState.id_token}&post_logout_redirect_uri=${options.postLogoutRedirectUri}`; } const cleanup = () => { From af7d31939dda4b0932f9c19326b4f2a1ca3c0306 Mon Sep 17 00:00:00 2001 From: Adrienne Rio Date: Fri, 7 Feb 2025 15:32:22 +0800 Subject: [PATCH 2/3] chore: comment out post logout uri until it is registered in hydra --- src/oidc/oidc.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/oidc/oidc.ts b/src/oidc/oidc.ts index 5f33d21..458c235 100644 --- a/src/oidc/oidc.ts +++ b/src/oidc/oidc.ts @@ -287,14 +287,15 @@ export const OAuth2Logout = async (options: OAuth2LogoutOptions) => { const oidcEndpoints = localStorage.getItem('config.oidc_endpoints') || '{}'; let logoutUrl = getOAuthLogoutUrl() || JSON.parse(oidcEndpoints).end_session_endpoint; - const userManager = await createUserManager({ - redirectCallbackUri: options.redirectCallbackUri, - postLogoutRedirectUri: options.postLogoutRedirectUri, - }); - const userState = await userManager.getUser(); - if (userState?.id_token) { - logoutUrl += `?id_token_hint=${userState.id_token}&post_logout_redirect_uri=${options.postLogoutRedirectUri}`; - } + // NOTE: Comment this out once front channel is implemented + // const userManager = await createUserManager({ + // redirectCallbackUri: options.redirectCallbackUri, + // postLogoutRedirectUri: options.postLogoutRedirectUri, + // }); + // const userState = await userManager.getUser(); + // if (userState?.id_token) { + // logoutUrl += `?id_token_hint=${userState.id_token}&post_logout_redirect_uri=${options.postLogoutRedirectUri}`; + // } const cleanup = () => { const iframe = document.getElementById('logout-iframe') as HTMLIFrameElement; From e4096737f01d86b7658fe5f656bf7fe7ce01dc68 Mon Sep 17 00:00:00 2001 From: Adrienne Rio Date: Fri, 7 Feb 2025 15:36:46 +0800 Subject: [PATCH 3/3] chore: fix failing test cases --- src/constants/__tests__/urls.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/constants/__tests__/urls.spec.ts b/src/constants/__tests__/urls.spec.ts index 4ea4197..4a571ba 100644 --- a/src/constants/__tests__/urls.spec.ts +++ b/src/constants/__tests__/urls.spec.ts @@ -114,7 +114,7 @@ describe('URLs', () => { const oauthUrl = getOauthUrl(); - expect(oauthUrl).toBe('https://qa.deriv.com/oauth2/authorize?app_id=67890&l=EN&&brand=deriv'); + expect(oauthUrl).toBe('https://qa.deriv.com/oauth2/authorize?app_id=67890&l=EN&brand=deriv'); }); it('should return the default OAuth URL if appId and serverUrl are not set', () => { @@ -136,7 +136,7 @@ describe('URLs', () => { const oauthUrl = getOauthUrl(); - expect(oauthUrl).toBe('https://qa.deriv.com/oauth2/authorize?app_id=67890&l=EN&&brand=deriv'); + expect(oauthUrl).toBe('https://qa.deriv.com/oauth2/authorize?app_id=67890&l=EN&brand=deriv'); }); });