From de59371f50991a0dbee997eb4a13fd3f5f415ffd Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期五, 21 三月 2025 09:45:21 +0800 Subject: [PATCH] feat(login): 添加 Keycloak 登录支持 --- src/layout/components/SocialCallback/index.vue | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/layout/components/SocialCallback/index.vue b/src/layout/components/SocialCallback/index.vue index eac66bc..84baf34 100644 --- a/src/layout/components/SocialCallback/index.vue +++ b/src/layout/components/SocialCallback/index.vue @@ -17,7 +17,9 @@ const code = route.query.code as string; const state = route.query.state as string; const source = route.query.source as string; -const tenantId = localStorage.getItem('tenantId') ? (localStorage.getItem('tenantId') as string) : '000000'; +const stateJson = JSON.parse(atob(state)); +const tenantId = (stateJson.tenantId as string) ? (stateJson.tenantId as string) : '000000'; +const domain = stateJson.domain as string; const processResponse = async (res: any) => { if (res.code !== 200) { @@ -60,12 +62,21 @@ }; const init = async () => { + // 濡傛灉鍩熷悕涓嶇浉绛� 鍒欓噸瀹氬悜澶勭悊 + let host = window.location.host; + if (domain !== host) { + let urlFull = new URL(window.location.href); + urlFull.host = domain; + window.location.href = urlFull.toString(); + return; + } + const data: LoginData = { socialCode: code, socialState: state, tenantId: tenantId, - source: source, - clientId: 'e5cd7e4891bf95d1d19206ce24a7b32e', + source: 'keycloak', + clientId: import.meta.env.VITE_APP_CLIENT_ID, grantType: 'social' }; -- Gitblit v1.9.3