feat: サーバー初期設定時に初期パスワードを要求できるように (#14626)
* feat: サーバー初期設定時専用の初期パスワードを設定できるように
* 無いのに入力された場合もエラーにする
* 🎨
* 🎨
* cypress-devcontainerにもpassを設定(テストが失敗するため)
* [ci skip] 🎨
* ✌️
* test: please revert this commit before merge
* Revert "test: please revert this commit before merge"
This reverts commit 66b2b48f66
.
* Update locales/ja-JP.yml
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
* build assets
* Update Changelog
* fix condition
* fix condition
* add comment
* change error code
* 他のエラーコードと合わせる
* Update CHANGELOG.md
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
This commit is contained in:
@@ -14,6 +14,10 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||
</div>
|
||||
<div class="_gaps_m" style="padding: 32px;">
|
||||
<div>{{ i18n.ts.intro }}</div>
|
||||
<MkInput v-model="initialPassword" type="password" data-cy-admin-initial-password>
|
||||
<template #label>{{ i18n.ts.initialPasswordForSetup }} <div v-tooltip:dialog="i18n.ts.initialPasswordForSetupDescription" class="_button _help"><i class="ti ti-help-circle"></i></div></template>
|
||||
<template #prefix><i class="ti ti-lock"></i></template>
|
||||
</MkInput>
|
||||
<MkInput v-model="username" pattern="^[a-zA-Z0-9_]{1,20}$" :spellcheck="false" required data-cy-admin-username>
|
||||
<template #label>{{ i18n.ts.username }}</template>
|
||||
<template #prefix>@</template>
|
||||
@@ -47,6 +51,7 @@ import MkAnimBg from '@/components/MkAnimBg.vue';
|
||||
|
||||
const username = ref('');
|
||||
const password = ref('');
|
||||
const initialPassword = ref('');
|
||||
const submitting = ref(false);
|
||||
|
||||
function submit() {
|
||||
@@ -56,14 +61,27 @@ function submit() {
|
||||
misskeyApi('admin/accounts/create', {
|
||||
username: username.value,
|
||||
password: password.value,
|
||||
initialPassword: initialPassword.value === '' ? null : initialPassword.value,
|
||||
}).then(res => {
|
||||
return login(res.token);
|
||||
}).catch(() => {
|
||||
}).catch((err) => {
|
||||
submitting.value = false;
|
||||
|
||||
let title = i18n.ts.somethingHappened;
|
||||
let text = err.message + '\n' + err.id;
|
||||
|
||||
if (err.code === 'ACCESS_DENIED') {
|
||||
title = i18n.ts.permissionDeniedError;
|
||||
text = i18n.ts.operationForbidden;
|
||||
} else if (err.code === 'INCORRECT_INITIAL_PASSWORD') {
|
||||
title = i18n.ts.permissionDeniedError;
|
||||
text = i18n.ts.incorrectPassword;
|
||||
}
|
||||
|
||||
os.alert({
|
||||
type: 'error',
|
||||
text: i18n.ts.somethingHappened,
|
||||
title,
|
||||
text,
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -74,8 +92,8 @@ function submit() {
|
||||
min-height: 100svh;
|
||||
padding: 32px 32px 64px 32px;
|
||||
box-sizing: border-box;
|
||||
display: grid;
|
||||
place-content: center;
|
||||
display: grid;
|
||||
place-content: center;
|
||||
}
|
||||
|
||||
.form {
|
||||
|
Reference in New Issue
Block a user