Sms 使短信验证码易于复制

Sms 使短信验证码易于复制,sms,twilio,sms-verification,Sms,Twilio,Sms Verification,我通过文本向用户发送10位数字和字母代码,作为2FA的一种方法。我的用例有点不同——不是典型的登录代码,而是可以用来解锁加密文档的密码。这就是为什么我的代码需要比几个数字长的原因 我希望它能被用户轻松地复制——有时候iPhone会这样做,这样你就可以点击文本中的代码并轻松地复制它。这出现在6位数字上,但就我所知,它似乎对9位以上的数字不起作用 是否有一套模式可以告诉iPhone发送的代码是验证代码?像数字阈值还是格式 我当前的消息如下所示: Thank you for signing up fo

我通过文本向用户发送10位数字和字母代码,作为2FA的一种方法。我的用例有点不同——不是典型的登录代码,而是可以用来解锁加密文档的密码。这就是为什么我的代码需要比几个数字长的原因

我希望它能被用户轻松地复制——有时候iPhone会这样做,这样你就可以点击文本中的代码并轻松地复制它。这出现在6位数字上,但就我所知,它似乎对9位以上的数字不起作用

是否有一套模式可以告诉iPhone发送的代码是验证代码?像数字阈值还是格式

我当前的消息如下所示:

Thank you for signing up for XYZ. Your verification code is: JWtCtWJmD2g

我也在考虑只发送代码(没有描述)或发送两条消息——一条介绍,然后在单独的行中发送代码。

截至2020年2月,似乎没有标准的SMS 2FA代码格式。目前,苹果公司的一位工程师正在为短信发送创建统一格式

我发现iPhone很擅长拾取“这是你的代码:\ \ \ \ \ \ \ \ \ \”而不管有多少位数字/字母数字,只要:

  • 10个或更少字符
  • 不是真的
  • 没有特殊字符(@、&)
  • 代码与“这是您的代码:”
  • 至少有1个数字,且不在由字母包围的字符串末尾(“7AsPlQd”和“xAsPlQd12”不起作用)


更新:2020年10月:我现在可以自动复制10个或更少(以前是9个或更少)

苹果公司于8月4日宣布了上述标准。您现在可以使用以下格式指定自定义代码和域:

747723 is your ExampleCo authentication code.
    
@example.com #747723
第一行是自由格式文本。第二行指定代码有效的域,然后在
后面提供代码


您还可以将
autocomplete=one-time-code
添加到需要2FA代码的表单字段中。

这不是您问题的答案(提前道歉),但我建议您在构建自定义2FA:时签出Authy:。您可能会遇到短信交付问题,因为从移动运营商的角度来看,2FA消息看起来很像垃圾邮件。Authy通过使用预先注册的短代码和国际号码来解决这一问题,从而简化2FA的交付。此外,SIM卡交换变得越来越普遍,使得基于SMS的2FA变得不那么安全。Authy允许您将软令牌集成到应用程序中,并将身份验证推送到应用程序中,这样您的应用程序相对来说更能经得起未来的考验。@CharlieWeems--谢谢您的链接。我在问题中添加了关于我的用例的更多细节,它(可能)有点独特,这就是为什么我不只是复制大多数公司使用的标准SMS 2FA模板。我确实认为短代码可能有用,但我的音量不够高,无法保证切换。我不能特别谈论您的用例,但通常最好将通过SMS发送的任何内容视为不安全(SMS未加密)。因为你不能相信你的代码不会在没有中间人查看的情况下交付,所以2FA的安全值是,它可以用于在短时间内(例如10分钟有效期)验证你是否拥有该设备。您通常还将指定最大尝试次数,以防止暴力强制执行代码。我个人建议不要使用像密码这样的短信代码,因为在传输过程中没有加密。我也快速浏览了iMessage开发者文档,据我所知,苹果没有提供改变这种行为的方法。不幸的是,我也无法找到关于什么将被识别为2FA代码的清晰文档。