【问题标题】:How to implement "Two factor authentication" in iOS application?如何在 iOS 应用程序中实现“双因素身份验证”?
【发布时间】:2013-11-21 06:47:58
【问题描述】:
我正在使用我的 Mac 应用程序锁定我的 Mac 屏幕。当我输入密码时,它需要解锁。密码应在内部生成。所以我更喜欢使用“双向因素身份验证”来实现它。这样,当我在 Mac 应用程序中输入它必须解锁的令牌时,我的 iPhone 应用程序会频繁生成一个令牌。
我发现很少有像 Gauthify 和 Authy 这样的 API。但是他们在自己的应用程序上生成令牌(即,要从 authy 获取令牌,我们需要在我们的手机中安装 authy 应用程序)。
我的要求是不安装这些应用程序,我的应用程序需要生成令牌并与我的 Mac 通信。
如果有人做过,请指导我。好的建议是可观的。
【问题讨论】:
标签:
ios
macos
security
authentication
【解决方案1】:
所有这些应用,包括 Google 或任何其他 API 都使用两步验证。在这里,他们使用一些私钥生成一个令牌,并通过短信或邮件或任何其他媒介将其传递给最终用户。此短信或邮件已在应用程序数据库中向用户注册。
如果您的 MAC 和 ios 设备中有相同的应用程序,则无需使用此类应用程序。
您只需要确定您将如何传递该密钥。
如果 MAC 正在生成令牌,并且您知道哪个设备正在尝试与 MAC 连接,您可以在后台将该令牌发送到该 ios 设备并进行匹配。如果您使用的是套接字连接,这是您的选择
当用户输入令牌时,您可以向服务器发出请求以检查该令牌。为此,您需要将 MAC 上生成的令牌发送到服务器并将其保存在某处。这些令牌通常会在一段时间后过期,因此请运行 cron 作业以删除此类令牌。
您描述的应用程序使用第二种方式进行身份验证。
希望对您有所帮助。一切都取决于您的要求和方法:)
干杯