From b204ba8f74eaf63c04d143263c0d8dd29cd052aa Mon Sep 17 00:00:00 2001 From: simeng-li Date: Fri, 8 Dec 2023 15:14:51 +0800 Subject: [PATCH] refactor(core,experience): simplify the consent path (#5072) simplify the consent path --- packages/core/src/middleware/koa-spa-session-guard.ts | 4 +++- packages/core/src/oidc/init.ts | 4 ++-- packages/core/src/routes/consts.ts | 7 +++---- packages/experience/src/App.tsx | 2 +- packages/integration-tests/src/client/index.ts | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/core/src/middleware/koa-spa-session-guard.ts b/packages/core/src/middleware/koa-spa-session-guard.ts index f9eb1f3b2..f5c8f01dd 100644 --- a/packages/core/src/middleware/koa-spa-session-guard.ts +++ b/packages/core/src/middleware/koa-spa-session-guard.ts @@ -11,12 +11,13 @@ import { getTenantId } from '#src/utils/tenant.js'; // Need To Align With UI export const sessionNotFoundPath = '/unknown-session'; + export const guardedPath = [ '/sign-in', + '/consent', '/register', '/single-sign-on', '/social/register', - '/reset-password', '/forgot-password', ]; @@ -28,6 +29,7 @@ export default function koaSpaSessionGuard< return async (ctx, next) => { const requestPath = ctx.request.path; const isPreview = ctx.request.URL.searchParams.get('preview'); + const isSessionRequiredPath = requestPath === '/' || guardedPath.some((path) => requestPath.startsWith(path)); diff --git a/packages/core/src/oidc/init.ts b/packages/core/src/oidc/init.ts index eddd5800d..cb4237ddb 100644 --- a/packages/core/src/oidc/init.ts +++ b/packages/core/src/oidc/init.ts @@ -159,11 +159,11 @@ export default function initOidc(envSet: EnvSet, queries: Queries, libraries: Li const isSignUp = ctx.oidc.params?.[OIDCExtraParametersKey.InteractionMode] === InteractionMode.signUp; - return appendParameters(isSignUp ? routes.signUp : routes.signIn.credentials); + return appendParameters(isSignUp ? routes.signUp : routes.signIn); } case 'consent': { - return routes.signIn.consent; + return routes.consent; } default: { diff --git a/packages/core/src/routes/consts.ts b/packages/core/src/routes/consts.ts index 8dc86cc4f..2f07bfa19 100644 --- a/packages/core/src/routes/consts.ts +++ b/packages/core/src/routes/consts.ts @@ -1,12 +1,11 @@ const signIn = '/sign-in'; const signUp = '/register'; +const consent = '/consent'; export const routes = Object.freeze({ - signIn: { - credentials: signIn, - consent: `${signIn}/consent`, - }, + signIn, signUp, + consent, } as const); export const verificationTimeout = 10 * 60 * 1000; // 10 mins. diff --git a/packages/experience/src/App.tsx b/packages/experience/src/App.tsx index 6ce60ef30..18774eb62 100644 --- a/packages/experience/src/App.tsx +++ b/packages/experience/src/App.tsx @@ -50,7 +50,7 @@ const App = () => { - } /> + } /> }>