fix redirecting after log on

This commit is contained in:
Nemo Godebski-Pedersen 2025-05-20 18:03:40 +07:00
parent 39ab9373f0
commit 267cffba3b
3 changed files with 26 additions and 3 deletions

View File

@ -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)
}
}
)

View File

@ -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)

View File

@ -157,7 +157,7 @@ watchEffect(() => {
<arrow-down />
</el-icon>
</span>-->
<a v-bind:href="'/api/connect'" v-show="isShowLoginButton" class="login-button router-link">
<a v-bind:href="'/api/connect?redirect='+ encodeURIComponent(route.path)" v-show="isShowLoginButton" class="login-button router-link">
{{ $t('header.login') }}
</a>
<span v-show="isShowLogOffButton" class="login-user">{{ loginUsername }}</span>