UNPKG

@choerodon/master

Version:
64 lines (54 loc) 1.91 kB
import { ACCESS_TOKEN, AUTH_HOST, AUTH_URL, NO_NEED_HISTORYPATH } from "./constants"; import { getCookieToken, removeAccessToken } from "./accessToken"; export function authorize() { window.top.location = "".concat(AUTH_URL); } export function logout() { var token = getCookieToken(); var logoutUrl = "".concat(AUTH_HOST, "/logout"); if (token) { logoutUrl += "?".concat(ACCESS_TOKEN, "=").concat(getCookieToken()); } removeAccessToken(); localStorage.clear(); var historyPath = sessionStorage.getItem('historyPath'); sessionStorage.clear(); sessionStorage.setItem('historyPath', historyPath); window.location = logoutUrl; } export function authorizeC7n() { // 为了把这个hash传到oauth里要把#换成%23 var historyPath = sessionStorage.getItem('historyPath'); if (historyPath && NO_NEED_HISTORYPATH.some(function (item) { return historyPath.includes(item); })) { historyPath = '/'; sessionStorage.setItem('historyPath', '/'); } var uri = "".concat(window.location.origin, "/#").concat(historyPath || '/'); if (uri.indexOf('?') > 0) { uri += '&redirectFlag'; } else { uri += '?redirectFlag'; } var redirect_uri = escape(uri); window.localStorage.removeItem('lastClosedId'); // 这里是为了告诉oauth我要重定向的uri是什么,必须和client中对应,跳转到非client的页面会报错。 window.location = "".concat(AUTH_URL, "&redirect_uri=").concat(redirect_uri); } export function authorizeUrl() { window.location = "".concat(window.location.origin, "/#/unauthorized"); } /** * 登出 */ export function logoutC7n() { var token = getCookieToken(); var logoutUrl = "".concat(AUTH_HOST, "/logout"); if (token) { logoutUrl += "?".concat(ACCESS_TOKEN, "=").concat(getCookieToken()); } removeAccessToken(); localStorage.clear(); sessionStorage.clear(); window.location = logoutUrl; }