做统一认证登录
This commit is contained in:
+47
-7
@@ -1,6 +1,41 @@
|
||||
const TOKEN_KEY = 'app_token'
|
||||
const USER_KEY = 'app_user'
|
||||
const TENANT_KEY = 'app_tenant_name'
|
||||
const TID_KEY = 'app_tid'
|
||||
const REFRESH_KEY = 'app_refresh_token'
|
||||
const SID_KEY = 'app_sid'
|
||||
|
||||
/** 是否启用统一认证:.env 中配置 VITE_AUTH_MODE=sso */
|
||||
export function isSSOEnabled() {
|
||||
try {
|
||||
return (typeof import.meta !== 'undefined' && import.meta.env && import.meta.env.VITE_AUTH_MODE) === 'sso'
|
||||
} catch (e) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
/** 统一认证:保存令牌与会话信息 */
|
||||
export function setAuthTokens(data = {}) {
|
||||
if (data.access_token) setToken(data.access_token)
|
||||
if (data.refresh_token) uni.setStorageSync(REFRESH_KEY, data.refresh_token)
|
||||
if (data.sid) uni.setStorageSync(SID_KEY, data.sid)
|
||||
}
|
||||
|
||||
export function getRefreshToken() {
|
||||
return uni.getStorageSync(REFRESH_KEY) || ''
|
||||
}
|
||||
|
||||
export function getSid() {
|
||||
return uni.getStorageSync(SID_KEY) || ''
|
||||
}
|
||||
|
||||
export function setTid(tid) {
|
||||
uni.setStorageSync(TID_KEY, tid || '')
|
||||
}
|
||||
|
||||
export function getTid() {
|
||||
return Number(uni.getStorageSync(TID_KEY) || 0)
|
||||
}
|
||||
const REMEMBER_KEY = 'app_remember_me'
|
||||
const REMEMBER_TENANT_KEY = 'app_remember_tenant'
|
||||
const REMEMBER_ACCOUNT_KEY = 'app_remember_account'
|
||||
@@ -37,6 +72,8 @@ export function isLoggedIn() {
|
||||
export function logout() {
|
||||
uni.removeStorageSync(TOKEN_KEY)
|
||||
uni.removeStorageSync(USER_KEY)
|
||||
uni.removeStorageSync(REFRESH_KEY)
|
||||
uni.removeStorageSync(SID_KEY)
|
||||
}
|
||||
|
||||
/** 是否开启记住账号登录信息 */
|
||||
@@ -44,25 +81,28 @@ export function isRememberLogin() {
|
||||
return uni.getStorageSync(REMEMBER_KEY) === '1'
|
||||
}
|
||||
|
||||
/** 读取记住的账号登录信息 */
|
||||
/**
|
||||
* 读取记住的账号登录信息。
|
||||
* 安全说明:不再保存/回填密码,仅记住租户名与账号。
|
||||
*/
|
||||
export function getRememberLogin() {
|
||||
if (!isRememberLogin()) {
|
||||
return { rememberMe: false, tenantName: '', account: '', password: '' }
|
||||
return { rememberMe: false, tenantName: '', account: '' }
|
||||
}
|
||||
return {
|
||||
rememberMe: true,
|
||||
tenantName: uni.getStorageSync(REMEMBER_TENANT_KEY) || '',
|
||||
account: uni.getStorageSync(REMEMBER_ACCOUNT_KEY) || '',
|
||||
password: uni.getStorageSync(REMEMBER_PASSWORD_KEY) || ''
|
||||
account: uni.getStorageSync(REMEMBER_ACCOUNT_KEY) || ''
|
||||
}
|
||||
}
|
||||
|
||||
/** 保存账号登录信息(租户、账号、密码) */
|
||||
export function saveRememberLogin({ tenantName = '', account = '', password = '' } = {}) {
|
||||
/** 保存账号登录信息(租户、账号;不含密码) */
|
||||
export function saveRememberLogin({ tenantName = '', account = '' } = {}) {
|
||||
uni.setStorageSync(REMEMBER_KEY, '1')
|
||||
uni.setStorageSync(REMEMBER_TENANT_KEY, tenantName)
|
||||
uni.setStorageSync(REMEMBER_ACCOUNT_KEY, account)
|
||||
uni.setStorageSync(REMEMBER_PASSWORD_KEY, password)
|
||||
// 历史版本可能已落盘明文密码,这里一并清理
|
||||
uni.removeStorageSync(REMEMBER_PASSWORD_KEY)
|
||||
}
|
||||
|
||||
/** 清除记住的账号登录信息 */
|
||||
|
||||
Reference in New Issue
Block a user