123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // 单点登录核心类
- import { getToken } from '/@/utils/auth';
- import { getUrlParam } from '/@/utils';
- import { useGlobSetting } from '/@/hooks/setting';
- import { validateCasLogin } from '/@/api/sys/user';
- import { useUserStore } from '/@/store/modules/user';
- const globSetting = useGlobSetting();
- const openSso = globSetting.openSso;
- export function useSso() {
- //update-begin---author:wangshuai---date:2024-01-03---for:【QQYUN-7805】SSO登录强制用http #957---
- let locationUrl = document.location.protocol +"//" + window.location.host + '/';
- //update-end---author:wangshuai---date:2024-01-03---for:【QQYUN-7805】SSO登录强制用http #957---
- /**
- * 单点登录
- */
- async function ssoLogin() {
- if (openSso == 'true') {
- let token = getToken();
- let ticket = getUrlParam('ticket');
- if (!token) {
- if (ticket) {
- await validateCasLogin({
- ticket: ticket,
- service: locationUrl,
- }).then((res) => {
- const userStore = useUserStore();
- userStore.setToken(res.token);
- return userStore.afterLoginAction(true, {});
- });
- } else {
- window.location.href = globSetting.casBaseUrl + '/login?service=' + encodeURIComponent(locationUrl);
- }
- }
- }
- }
- /**
- * 退出登录
- */
- async function ssoLoginOut() {
- window.location.href = globSetting.casBaseUrl + '/logout?service=' + encodeURIComponent(locationUrl);
- }
- return { ssoLogin, ssoLoginOut };
- }
|