pie*_*r0t 5 google-authenticator
对于一个项目,我实施了 OTP 第二因素身份验证。一切正常,我能够为加密种子生成 QR 码,在 Andro\xc3\xafd 智能手机上读取它,并使用 6 位生成的代码在我的应用程序中进行身份验证。\n我读到 FreeOTP 的 v1.5 是现在支持向每个服务添加图像,引用:
\n\n在 Android 上,我们发布了一个主要版本,其中带来了许多新功能和 UI 改进。其中最大的是图像支持。可以为每个标记选择图像。还可以通过未记录的 OTP URI 查询参数将图像配置到设备。
\n\n我看到某些服务确实成功地为其服务添加了图像(例如 OVH),但找不到正确的 URI 语法来执行此操作... \n更准确地说,我并不是要求手动添加图像的方法图像到 FreeOTP 应用程序中的令牌,我正在寻找正确的 URI 来生成 QRCode,最好包含要显示的图像的链接。我很确定我从未手动添加过 OVH 图像。
\n参考您要在 FreeOTP 中使用的图像生成 QR 代码的正确 URI 包括指向其公开可用位置的查询字符串参数:
...&image=http<s>://<image-path>
Run Code Online (Sandbox Code Playgroud)
该图像应为 .png。完全限定路径和协议。
将其添加到已为 QR 码创建的现有字符串中。在生成二维码之前,您必须对整个字符串进行 UrlEncode。
为了清楚起见,urlencoding 之前的数据格式应该是:
otpauth://totp/(<issuer>:)<accountnospaces>?secret=xxxxxxxxxx(&issuer=<issuer>)(&image=<imageuri>)
Run Code Online (Sandbox Code Playgroud)
括号表示可选元素。例如:
otpauth://totp/Google:SampleName?MQ2TQNLEGMYTMOBXGY3Q&issuer=Google&image=http://google.com/image/logo.png
Run Code Online (Sandbox Code Playgroud)
然后你对其进行编码:
otpauth%3A%2F%2Ftotp%2FGoogle%3ASampleName%3FMQ2TQNLEGMYTMOBXGY3Q%26issuer%3DGoogle%26image%3Dhttp%3A%2F%2Fgoogle.com%2Fimage%2Flogo.png
Run Code Online (Sandbox Code Playgroud)
然后您可以根据需要生成二维码。例如,谷歌图表 API:
https://chart.googleapis.com/chart?cht=qr&chs=400x400&chl=otpauth%3A%2F%2Ftotp%2FGoogle%3ASampleName%3FMQ2TQNLEGMYTMOBXGY3Q%26issuer%3DGoogle%26image%3Dhttp%3A%2F%2Fgoogle.com%2Fimage%2Flogo.png
Run Code Online (Sandbox Code Playgroud)
虽然 FreeOTP 支持此功能,但其他应用程序不支持。它不是 TOTP 规范的一部分,尽管它应该是。
| 归档时间: |
|
| 查看次数: |
5428 次 |
| 最近记录: |