update 优化 三方登录不同域名问题 采用新方案
| | |
| | | import request from '@/utils/request'; |
| | | |
| | | // 绑定账号 |
| | | export function authBinding(source: string) { |
| | | export function authBinding(source: string, tenantId: string) { |
| | | return request({ |
| | | url: '/auth/binding/' + source, |
| | | method: 'get' |
| | | method: 'get', |
| | | params: { |
| | | tenantId: tenantId, |
| | | domain: window.location.host |
| | | } |
| | | }); |
| | | } |
| | | |
| | |
| | | const code = route.query.code as string; |
| | | const state = route.query.state as string; |
| | | const source = route.query.source as string; |
| | | const tenantId = route.query.tenantId as string ? route.query.tenantId as string : '000000'; |
| | | const domain = route.query.domain as string; |
| | | 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) { |
| | |
| | | let urlFull = new URL(window.location.href); |
| | | urlFull.host = domain; |
| | | window.location.href = urlFull.toString(); |
| | | return; |
| | | } |
| | | |
| | | const data: LoginData = { |
| | |
| | | * @param type |
| | | */ |
| | | const doSocialLogin = (type: string) => { |
| | | authBinding(type).then((res: any) => { |
| | | authBinding(type, loginForm.value.tenantId).then((res: any) => { |
| | | if (res.code === HttpStatus.SUCCESS) { |
| | | // 获取授权地址跳转 |
| | | window.location.href = res.data + '&tenantId=' + loginForm.value.tenantId + '&domain=' + window.location.host; |
| | | window.location.href = res.data; |
| | | } else { |
| | | ElMessage.error(res.msg); |
| | | } |
| | |
| | | }; |
| | | |
| | | const authUrl = (source: string) => { |
| | | authBinding(source).then((res: any) => { |
| | | authBinding(source, useUserStore().tenantId).then((res: any) => { |
| | | if (res.code === 200) { |
| | | window.location.href = res.data + '&tenantId=' + useUserStore().tenantId + '&domain=' + window.location.host; |
| | | window.location.href = res.data; |
| | | } else { |
| | | proxy?.$modal.msgError(res.msg); |
| | | } |