1

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

然而,尽管这些平台据称很简单,但我一直找不到任何示例项目或文档来说明如何在 iOS 应用程序中实现 2FA,所有示例都是针对 Web 应用程序、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 谁能指出我的示例项目或最能说明此任务的文档的方向?

提前致谢!

4

1 回答 1

2

如果您想通过 Authy 为您的 iOS 应用程序中的用户启用 2fa,您只需从移动应用程序向您的 Web 应用程序发送包含用户电子邮件和电话号码的请求。从那里,很容易在 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 的令牌,您就可以(从您的 Web 应用程序)向用户请求一条短信:

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安全,并且如果您将其包含在移动应用程序中,则可以轻松地对其进行反编译以提取它,并且有人可能会滥用您的帐户。

于 2015-11-26T00:14:40.730 回答