modify Login UI for OIDC login
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
const TokenKey = 'access_token'
|
||||
const OidcCode = 'oidc_code'
|
||||
const OidcCodeExpiry = 'oidc_code_expiry';
|
||||
|
||||
export function getToken () {
|
||||
return localStorage.getItem(TokenKey)
|
||||
@@ -11,3 +13,31 @@ export function setToken (token) {
|
||||
export function removeToken () {
|
||||
return localStorage.removeItem(TokenKey)
|
||||
}
|
||||
|
||||
// 设置 code,并存储当前时间戳(单位:毫秒)
|
||||
export function setCode(code) {
|
||||
const now = Date.now(); // 当前时间戳(毫秒)
|
||||
const expiry = now + 30 * 1000; // 30 秒后过期
|
||||
|
||||
localStorage.setItem(OidcCode, code); // 存储 code
|
||||
localStorage.setItem(OidcCodeExpiry, expiry); // 存储过期时间戳
|
||||
}
|
||||
|
||||
// 获取 code,如果已过期则删除并返回 null
|
||||
export function getCode() {
|
||||
const expiry = localStorage.getItem(OidcCodeExpiry); // 获取过期时间戳
|
||||
const now = Date.now(); // 当前时间戳
|
||||
|
||||
if (expiry && now > parseInt(expiry)) {
|
||||
// 如果已过期,删除 code 和过期时间
|
||||
removeCode();
|
||||
return null;
|
||||
}
|
||||
return localStorage.getItem(OidcCode); // 返回 code(如果未过期)
|
||||
}
|
||||
|
||||
// 删除 code 和过期时间
|
||||
export function removeCode() {
|
||||
localStorage.removeItem(OidcCode);
|
||||
localStorage.removeItem(OidcCodeExpiry);
|
||||
}
|
||||
@@ -427,5 +427,9 @@
|
||||
},
|
||||
"LastOnlineIp": {
|
||||
"One": "最后在线IP"
|
||||
},
|
||||
"or login in with" :
|
||||
{
|
||||
"One": "或使用以下登陆"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,6 +55,12 @@ service.interceptors.response.use(
|
||||
response => {
|
||||
const res = response.data
|
||||
|
||||
// for the endpoint /login-options
|
||||
// I'm not sure if this is a good idea
|
||||
if (Array.isArray(res)) {
|
||||
return res;
|
||||
}
|
||||
|
||||
// if the custom code is not 20000, it is judged as an error.
|
||||
if (res.code !== 0) {
|
||||
ElMessage({
|
||||
|
||||
Reference in New Issue
Block a user