从 Chrome 93 开始,网站可以在桌面版 Chrome 中验证电话号码。
WebOTP 可帮助用户在移动网站上输入电话号码验证码, 无需切换应用。Chrome 93 将此功能扩展至 也支持桌面设备请阅读下文,了解详情。
简介
短信动态密码(动态密码)通常用于验证手机号码, 例如身份验证的第二步,或验证网上付款。 不过,从桌面设备切换到移动设备的整个流程就是打开短信 应用,并在桌面设备上记住原始网站上的动态密码,然后将其输入 会造成阻碍这样很容易出错, 网络钓鱼攻击。
WebOTP API 使网站能够 以编程方式从短信中获取动态密码 无需切换应用,只需点按一下即可自动为用户填写表单。 短信采用特定格式,并且与源站绑定,因此可以缓解 也存在钓鱼式攻击网站窃取动态密码的风险
<ph type="x-smartling-placeholder">WebOTP 尚不支持的一个用例是定位电话号码 来自远程桌面设备或笔记本电脑的验证请求 API 仅适用于具有电话功能的设备。立即使用 API 支持监听在其他设备上收到的短信,以协助用户 在 Chrome 93 中在桌面设备上完成电话号码验证。
<ph type="x-smartling-placeholder">试试看
前提条件
- 台式机或笔记本电脑(Windows、Mac、Linux 或 ChromeOS)。
- 一部搭载 Google Play 服务 20.30.12 或更高版本的 Android 手机。
- Chrome 93 或更高版本(在桌面设备、笔记本电脑和移动设备上)。Chrome 93 Beta 版自 2021 年 7 月底开始提供。
- 您需要在桌面版 Chrome 和 移动版 Chrome。例如,通过 https://myaccount.google.com/ 或 https://mail.google.com.无需开启同步功能。
- 在 Android 设备上,您需要通过“设置->Google”登录 Android。
- 默认浏览器必须是 Chrome 93 。
- 在 Android 设备上,Chrome 93 必须在前台或后台运行 设备。
演示
要在桌面设备上尝试这种顺畅的电话号码验证流程,请按照下列步骤操作: 具体步骤:
- 前往 https://web-otp-demo.glitch.me/, 。点击验证按钮。
- 将屏幕上显示的短信内容从第二部手机发送到 Android 设备。
- 短信发送至 Android 设备后,系统会显示一个对话框,询问您是否 要在桌面设备上验证电话号码按提交 批准。
- 在桌面设备上,发送到 Android 设备的验证码应该是 已自动填充
WebOTP API 的工作原理
我们来看看 WebOTP API 的工作原理:
…
const otp = await navigator.credentials.get({
otp: { transport:['sms'] }
});
if (otp.code) input.value = otp.code;
…
短信必须采用与源绑定的一次性验证码的格式设置。
Your OTP is: 123456.
@web-otp-demo.glitch.me #123456
请注意,最后一行包含要绑定到的出发地,前面带有 @
然后是带有 #
的动态密码。
收到短信后,系统会弹出信息栏并提示用户
验证其电话号码用户点击 Verify
按钮后,
浏览器自动将动态密码转发到网站,并解析
navigator.credentials.get()
。然后,网站可以提取动态密码并完成
验证流程。
有关详情,请参阅使用 WebOTP API 验证网络上的电话号码。
如何在桌面设备上使用 WebOTP API
通过短信进行电话号码验证的应用广泛且与平台无关。任意用途 都应适用于桌面设备。
在桌面设备上使用 WebOTP API 的方法与在移动设备上使用相同, 让网站可以跨平台部署相同的代码。
浏览器支持和互操作性
此功能由 Chrome 同步功能提供支持,因此目前只能在 Chrome 上运行。 不支持在 iOS 或 iPad OS 上的 Chrome 中接收和传输短信。
虽然 Chromium 以外的浏览器引擎不会实现 WebOTP API,
Safari 使用相同的短信格式
及其 input[autocomplete="one-time-code"]
支持。在 Safari 中,只要
用户已开启 iMessage 自动同步功能,而短信中包含与源绑定的短信时
一次性代码格式会以匹配来源的形式到达 iOS 或 iPadOS,
该消息会转发到 macOS。如果用户将焦点置于输入字段,Safari
会推荐动态密码供用户输入。
反馈
您的反馈对于改进 WebOTP API 至关重要。试试看 请告诉我们 和你的想法一样
照片提供者:Luis Villasmil 已开启 不启动