Twilio / Authy API 用于 iOS 中的 2 因素身份验证?

Twilio / Authy API for 2 Factor Authentication in iOS?

我一直在深入研究 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 任何人都可以指出示例项目的方向或一些最能说明此任务的文档吗?

提前致谢!

如果您想通过 iOS 应用程序为用户启用 Authy 2fa,您只需从移动应用程序向您的网站发送包含用户电子邮件和 phone 号码的请求应用程序。从那里,很容易在 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 安全,如果您将它包含在移动应用程序中,它可以很容易反编译提取它,有人可能会滥用您的帐户。