fix: harden login for MLPS requirements
This commit is contained in:
@@ -7,7 +7,7 @@ const { apiBaseURL, error, pending, setApiBaseURL, login } = useDesktopSession()
|
||||
const menuOpen = ref(false)
|
||||
const showServerDialog = ref(false)
|
||||
const showPassword = ref(false)
|
||||
const rememberPassword = ref(!!localStorage.getItem('geo_rankly_saved_password'))
|
||||
const rememberAccount = ref(!!localStorage.getItem('geo_rankly_saved_identifier'))
|
||||
const savedIdentifier =
|
||||
localStorage.getItem('geo_rankly_saved_identifier') ??
|
||||
localStorage.getItem('geo_rankly_saved_email') ??
|
||||
@@ -16,7 +16,7 @@ const savedIdentifier =
|
||||
const form = reactive({
|
||||
apiBaseURL: apiBaseURL.value,
|
||||
identifier: savedIdentifier,
|
||||
password: localStorage.getItem('geo_rankly_saved_password') || '',
|
||||
password: '',
|
||||
})
|
||||
|
||||
const menuRef = ref<HTMLElement | null>(null)
|
||||
@@ -26,7 +26,7 @@ function toggleMenu() {
|
||||
}
|
||||
|
||||
function onRememberChange(event: Event) {
|
||||
rememberPassword.value = (event.target as HTMLInputElement).checked
|
||||
rememberAccount.value = (event.target as HTMLInputElement).checked
|
||||
}
|
||||
|
||||
function handleOutsideClick(event: MouseEvent) {
|
||||
@@ -53,14 +53,13 @@ function saveServerSettings() {
|
||||
}
|
||||
|
||||
async function submitLogin() {
|
||||
if (rememberPassword.value) {
|
||||
localStorage.removeItem('geo_rankly_saved_password')
|
||||
if (rememberAccount.value) {
|
||||
localStorage.setItem('geo_rankly_saved_identifier', form.identifier)
|
||||
localStorage.removeItem('geo_rankly_saved_email')
|
||||
localStorage.setItem('geo_rankly_saved_password', form.password)
|
||||
} else {
|
||||
localStorage.removeItem('geo_rankly_saved_identifier')
|
||||
localStorage.removeItem('geo_rankly_saved_email')
|
||||
localStorage.removeItem('geo_rankly_saved_password')
|
||||
}
|
||||
|
||||
await login({
|
||||
@@ -179,8 +178,8 @@ onBeforeUnmount(() => {
|
||||
|
||||
<div class="options-row">
|
||||
<label class="check-label">
|
||||
<input type="checkbox" :checked="rememberPassword" @change="onRememberChange" />
|
||||
<span>记住密码</span>
|
||||
<input type="checkbox" :checked="rememberAccount" @change="onRememberChange" />
|
||||
<span>记住账号</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user