|
|
|
|
@ -1,6 +1,5 @@
|
|
|
|
|
import { useCache, CACHE_KEY } from '@/hooks/web/useCache'
|
|
|
|
|
import { TokenType } from '@/api/login/types'
|
|
|
|
|
import { decrypt, encrypt } from '@/utils/jsencrypt'
|
|
|
|
|
|
|
|
|
|
const { wsCache } = useCache()
|
|
|
|
|
|
|
|
|
|
@ -47,14 +46,19 @@ export type LoginFormType = {
|
|
|
|
|
export const getLoginForm = () => {
|
|
|
|
|
const loginForm: LoginFormType = wsCache.get(CACHE_KEY.LoginForm)
|
|
|
|
|
if (loginForm) {
|
|
|
|
|
loginForm.password = decrypt(loginForm.password) as string
|
|
|
|
|
// Never restore a password from browser storage. Also sanitize legacy cache entries.
|
|
|
|
|
loginForm.password = ''
|
|
|
|
|
wsCache.set(CACHE_KEY.LoginForm, loginForm, { exp: 30 * 24 * 60 * 60 })
|
|
|
|
|
}
|
|
|
|
|
return loginForm
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const setLoginForm = (loginForm: LoginFormType) => {
|
|
|
|
|
loginForm.password = encrypt(loginForm.password) as string
|
|
|
|
|
wsCache.set(CACHE_KEY.LoginForm, loginForm, { exp: 30 * 24 * 60 * 60 })
|
|
|
|
|
wsCache.set(
|
|
|
|
|
CACHE_KEY.LoginForm,
|
|
|
|
|
{ ...loginForm, password: '' },
|
|
|
|
|
{ exp: 30 * 24 * 60 * 60 }
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const removeLoginForm = () => {
|
|
|
|
|
|