From 267cffba3b7a543a0037f36b5a207b20edf4ffa7 Mon Sep 17 00:00:00 2001 From: Nemo Godebski-Pedersen Date: Tue, 20 May 2025 18:03:40 +0700 Subject: [PATCH] fix redirecting after log on --- .../middlewares/OauthAccessTokenMiddleware.ts | 20 +++++++++++++++++-- .../OauthRequestTokenMiddleware.ts | 7 +++++++ src/components/HeaderNav.vue | 2 +- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/server/middlewares/OauthAccessTokenMiddleware.ts b/server/middlewares/OauthAccessTokenMiddleware.ts index 880d130..dbf2255 100644 --- a/server/middlewares/OauthAccessTokenMiddleware.ts +++ b/server/middlewares/OauthAccessTokenMiddleware.ts @@ -64,15 +64,31 @@ export default class OauthAccessTokenMiddleware implements ExpressMiddlewareInte console.log(`OauthAccessTokenMiddleware.ts use says: clientConfig: ${JSON.stringify(clientConfig)}`) session['clientConfig'] = clientConfig console.log('OauthAccessTokenMiddleware.ts use says: Seems OK, redirecting..') + + let redirectPage: String + const obpExplorerHome = process.env.VITE_OBP_API_EXPLORER_HOST if(!obpExplorerHome) { console.error(`VITE_OBP_API_EXPLORER_HOST: ${obpExplorerHome}`) } - console.log(`OauthAccessTokenMiddleware.ts use says: Will redirect to: ${obpExplorerHome}`) + + if (session['redirectPage']) { + try { + redirectPage = session['redirectPage'] + + } catch (e) { + console.log('OauthAccessTokenMiddleware.ts use says: Error decoding redirect URI') + redirectPage = obpExplorerHome + } + } else { + redirectPage = obpExplorerHome + } + + console.log(`OauthAccessTokenMiddleware.ts use says: Will redirect to: ${redirectPage}`) console.log('OauthAccessTokenMiddleware.ts use says: Here comes the session:') console.log(session) - response.redirect(`${obpExplorerHome}`) + response.redirect(redirectPage) } } ) diff --git a/server/middlewares/OauthRequestTokenMiddleware.ts b/server/middlewares/OauthRequestTokenMiddleware.ts index 19011fe..c9cfedb 100644 --- a/server/middlewares/OauthRequestTokenMiddleware.ts +++ b/server/middlewares/OauthRequestTokenMiddleware.ts @@ -39,6 +39,13 @@ export default class OauthRequestTokenMiddleware implements ExpressMiddlewareInt console.debug('process.env.VITE_OBP_API_PORTAL_HOST:', process.env.VITE_OBP_API_PORTAL_HOST) const oauthService = this.oauthInjectedService const consumer = oauthService.getConsumer() + const redirectPage = request.query.redirect + const session = request.session + + if (redirectPage) { + session['redirectPage'] = redirectPage + } + consumer.getOAuthRequestToken((error: any, oauthTokenKey: string, oauthTokenSecret: string) => { if (error) { const errorStr = JSON.stringify(error) diff --git a/src/components/HeaderNav.vue b/src/components/HeaderNav.vue index 69429cd..9a445c2 100644 --- a/src/components/HeaderNav.vue +++ b/src/components/HeaderNav.vue @@ -157,7 +157,7 @@ watchEffect(() => { --> -