fix: 单点登录优化与环境变量完善
This commit is contained in:
@@ -56,6 +56,8 @@ function onAfterLeave() {
|
||||
}
|
||||
|
||||
function handleThirdPartyLogin() {
|
||||
console.log('SSO_SEVER_URL', SSO_SEVER_URL);
|
||||
console.log('import.meta.env', import.meta.env);
|
||||
const redirectUri = encodeURIComponent(`${window.location.origin}/chat`);
|
||||
const popup = window.open(
|
||||
`${SSO_SEVER_URL}/login?client_id=${SSO_CLIENT_ID}&redirect_uri=${redirectUri}`,
|
||||
@@ -68,23 +70,19 @@ function handleThirdPartyLogin() {
|
||||
|
||||
const messageHandler = async (event: any) => {
|
||||
if (event.origin === new URL(SSO_SEVER_URL).origin
|
||||
|| event.data.type === 'SSO_LOGIN_SUCCESS'
|
||||
|| !isHandled) {
|
||||
&& event.data.type === 'SSO_LOGIN_SUCCESS'
|
||||
&& !isHandled) {
|
||||
isHandled = true;
|
||||
try {
|
||||
// 清理监听
|
||||
window.removeEventListener('message', messageHandler);
|
||||
const { token } = event.data;
|
||||
userStore.setToken(token);
|
||||
|
||||
const resUserInfo = await getUserInfo();
|
||||
userStore.setUserInfo(resUserInfo.data);
|
||||
|
||||
// 关闭弹窗
|
||||
if (popup && !popup.closed)
|
||||
popup.close();
|
||||
|
||||
// 清理监听
|
||||
window.removeEventListener('message', messageHandler);
|
||||
|
||||
// 后续逻辑
|
||||
ElMessage.success('登录成功');
|
||||
userStore.closeLoginDialog();
|
||||
@@ -96,9 +94,6 @@ function handleThirdPartyLogin() {
|
||||
ElMessage.error('登录失败');
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.log('2222-', event);
|
||||
}
|
||||
};
|
||||
|
||||
// 先移除旧监听,再添加新监听
|
||||
|
||||
Reference in New Issue
Block a user