在iOS中进行2因素身份验证的Twilio / Authy API?

时间:2015-11-22 07:28:32

标签: ios twilio two-factor-authentication authy

我一直在深入研究Twilio和Authy的文档,以完成在iOS应用中添加2FA的任务。

尽管这些平台被称为简单,但我一直无法找到任何示例项目或文档来说明如何将2FA实施到iOS应用程序中,所有示例都适用于网络应用程序,wordpress网站等!

我找到的最接近的(仍然需要创建一个SQL数据库等)就是这个:https://www.twilio.com/blog/2015/01/mobile-passwordless-sms-authentication-part-1-building-the-api-with-laravel-and-twilio.html

我的问题是,将2FA添加到应用的最简单方法是什么?如果它是Twilio / Authy任何人都可以指向一个示例项目的方向或一些最能说明这项任务的文档吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

如果您想通过iOS应用为用户启用2fa with Authy,您只需将带有用户电子邮件和电话号码的请求从移动应用发送到您的网络应用。从那里开始,在Authy中启用用户很容易(在此示例中使用authy-ruby):

user = Authy::API.register_user(:email => 'foo@example.com', :cellphone => "123-456-7890", :country_code => "1")
# Then you should store the user.id, associating it to the user record.

此时,用户已在Authy中注册。如果他使用Authy移动应用程序,他将能够在列表中看到新帐户。否则,每当您请求2fa的令牌时,您都可以向用户请求短信(来自您的网络应用程序):

response = Authy::API.request_sms(:id => user.authy_id)

然后你应该从你的移动应用程序中收集令牌,将其发送到你的服务器,并从那里通过Authy验证令牌:

response = Authy::API.verify(:id => user.authy_id, :token => 'token-user-entered')

出于安全原因,这是正确的方法,因为您需要保持Authy api_key的安全,如果您将其包含在移动应用中,则可以轻松地将其反编译以提取它有人可能滥用您的帐户。