diff --git a/src/utils/auth.ts b/src/utils/auth.ts index d9e85650..45c71a06 100644 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -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 = () => { diff --git a/src/views/Login/SocialLogin.vue b/src/views/Login/SocialLogin.vue index 202a4b9a..86020dda 100644 --- a/src/views/Login/SocialLogin.vue +++ b/src/views/Login/SocialLogin.vue @@ -58,6 +58,7 @@ label-position="top" label-width="120px" size="large" + autocomplete="off" > @@ -80,6 +81,7 @@ @@ -89,6 +91,7 @@ @@ -31,6 +32,7 @@ @@ -40,6 +42,7 @@