enhance: Display TOTP Register URL
Close #7261 Co-Authored-By: tamaina <tamaina@hotmail.co.jp>
This commit is contained in:
		
							parent
							
								
									e161b71651
								
							
						
					
					
						commit
						98e42ec6ff
					
				
					 3 changed files with 9 additions and 5 deletions
				
			
		|  | @ -1157,6 +1157,7 @@ _2fa: | |||
|   registerKey: "キーを登録" | ||||
|   step1: "まず、{a}や{b}などの認証アプリをお使いのデバイスにインストールします。" | ||||
|   step2: "次に、表示されているQRコードをアプリでスキャンします。" | ||||
|   step2Url: "デスクトップアプリでは次のURLを入力します:" | ||||
|   step3: "アプリに表示されているトークンを入力して完了です。" | ||||
|   step4: "これからログインするときも、同じようにトークンを入力します。" | ||||
|   securityKeyInfo: "FIDO2をサポートするハードウェアセキュリティキーもしくは端末の指紋認証やPINを使用してログインするように設定できます。" | ||||
|  |  | |||
|  | @ -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, | ||||
|  |  | |||
|  | @ -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> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue