diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-05-14 15:00:15 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-05-14 15:00:15 +0900 |
| commit | 98e42ec6ffd245f522bc1cbceda0d3f84d3330b5 (patch) | |
| tree | 24e9857f95743fe9549d1fe5724639cd28feec81 /packages | |
| parent | update deps (diff) | |
| download | sharkey-98e42ec6ffd245f522bc1cbceda0d3f84d3330b5.tar.gz sharkey-98e42ec6ffd245f522bc1cbceda0d3f84d3330b5.tar.bz2 sharkey-98e42ec6ffd245f522bc1cbceda0d3f84d3330b5.zip | |
enhance: Display TOTP Register URL
Close #7261
Co-Authored-By: tamaina <tamaina@hotmail.co.jp>
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/i/2fa/register.ts | 8 | ||||
| -rw-r--r-- | packages/client/src/pages/settings/2fa.vue | 5 |
2 files changed, 8 insertions, 5 deletions
diff --git a/packages/backend/src/server/api/endpoints/i/2fa/register.ts b/packages/backend/src/server/api/endpoints/i/2fa/register.ts index d5e1b19e54..33f5717728 100644 --- a/packages/backend/src/server/api/endpoints/i/2fa/register.ts +++ b/packages/backend/src/server/api/endpoints/i/2fa/register.ts @@ -2,8 +2,8 @@ import bcrypt from 'bcryptjs'; import * as speakeasy from 'speakeasy'; import * as QRCode from 'qrcode'; import config from '@/config/index.js'; -import define from '../../../define.js'; import { UserProfiles } from '@/models/index.js'; +import define from '../../../define.js'; export const meta = { requireCredential: true, @@ -40,15 +40,17 @@ export default define(meta, paramDef, async (ps, user) => { }); // Get the data URL of the authenticator URL - const dataUrl = await QRCode.toDataURL(speakeasy.otpauthURL({ + const url = speakeasy.otpauthURL({ secret: secret.base32, encoding: 'base32', label: user.username, issuer: config.host, - })); + }); + const dataUrl = await QRCode.toDataURL(url); return { qr: dataUrl, + url, secret: secret.base32, label: user.username, issuer: config.host, diff --git a/packages/client/src/pages/settings/2fa.vue b/packages/client/src/pages/settings/2fa.vue index 9ebf5101cd..01dd9b74a2 100644 --- a/packages/client/src/pages/settings/2fa.vue +++ b/packages/client/src/pages/settings/2fa.vue @@ -52,8 +52,9 @@ </template> </I18n> </li> - <li>{{ i18n.ts._2fa.step2 }}<br><img :src="twoFactorData.qr"></li> - <li>{{ i18n.ts._2fa.step3 }}<br> + <li>{{ i18n.ts._2fa.step2 }}<br><img :src="twoFactorData.qr"><p>{{ $ts._2fa.step2Url }}<br>{{ data.url }}</p></li> + <li> + {{ i18n.ts._2fa.step3 }}<br> <MkInput v-model="token" type="text" pattern="^[0-9]{6}$" autocomplete="off" spellcheck="false"><template #label>{{ i18n.ts.token }}</template></MkInput> <MkButton primary @click="submit">{{ i18n.ts.done }}</MkButton> </li> |