ios - Apple IOS OTP 自动填充 SMS api 正确标准
问题描述
我看到了为 IOS 12 记录的关于如何从 SMS 中为您的应用密码字段检索 OTP 的 API。但我似乎无法找到另一方的文档......将 OTP 发送给用户。IOS 可以检测到用户自动填充的 OTP 的标准是什么。例如,是否有字符限制或必须遵循的特定模式。
我指的是这个 iOS 功能https://9to5mac.com/2018/06/04/safari-security-code-auto-fill/
具体来说,此 api 接收 OTP 的标准是什么。如果我向用户发送短信“您的一次性密码是:thebirdwenttothepark”,它会被接收吗?显然,有一个规范根据 iOS 定义了 OTP 是什么。
解决方案
收到的消息应该只包含“代码”或“密码”。如果您需要更多详细信息,您应该查看这篇中等文章。
编辑
- 发送的代码只能是数字(整数),并且必须最少为 4 位,最多为 9 位。
- 它可以包含空格,但建议不要,因为数字识别会变得复杂,例如
235 876
按原样识别(“235 876 with spaces included ”),但2354 2356
只能识别“354 2356”
并且您在设备上的应用程序中拥有的文本字段应该有
if #available(iOS 12.0, *) {
self.textField.textContentType = .oneTimeCode
}
您可以在使用 iMessage 在后端开始实施之前在设备上测试您的代码,只需将 iMessage 发送到您正在测试的设备(.oneTimeCode
启用了文本字段),它就会获取代码。
另外,我建议阅读有关域绑定代码的Apple 资源,这些代码是使用 OTP 的更安全方式(仅 iOS 14 和 Big Sur 支持)
推荐阅读
- android - 在 Android 中改造嵌套的 GET 请求
- angularjs - 在另一个没有数组的对象中读取和推送对象
- ruby-on-rails - 如何过滤 Rails 5.2 中nested_form_fields gem 编辑的记录?
- amazon-web-services - 当图像名称包含重音字符时,Amazon s3 putObject 返回 403
- javascript - 添加 retryWhen() 后未调用 Rxjs 订阅
- javascript - addLoadEvent 不能调用函数
- amazon-web-services - AWS EC2 实例配置文件凭证的到期时间
- javascript - 从 JS If 语句的 HTML 选择语句中获取值
- linux - Linux,键盘:将 LNG 重新映射到 AltGr
- java - 如何使用 JOption 从对象类的应用程序中输入公历