【问题标题】:Cognito & Two Factor AuthenticationCognito 和两因素身份验证
【发布时间】:2016-02-21 16:54:06
【问题描述】:

是否有任何可用的 Twilio 或 Authy SDK 可用于 Cognito 的两因素身份验证?

或者,通过 Cognito 使用两因素身份验证进行用户身份验证的最佳做法是什么?

基本上,移动应用程序如何通过使用 Cognito 进行身份管理来通过两因素身份验证对用户进行身份验证?

【问题讨论】:

  • 您能解释一下您想如何将 2fa 与 Cógnito 一起使用吗?
  • 我想使用 2FA 作为“Whatsapp”的方法,用户使用手机号码注册,他们通过短信获取验证码,通过插入验证码进行验证,并通过 Cognito 进行验证。

标签: aws-sdk amazon-cognito two-factor-authentication authy


【解决方案1】:

一个重要的说明 - Cognito 不会为您管理用户。 Cognito 利用公共提供商(facebook、google、amazon、twitter、现有的外部提供商等)为任何“登录”用户生成 AWS 凭证。此外,目前 Cognito 中还没有原生的 MFA 机制。

考虑到这一点,应该可以自己完成,但是您需要构建一些额外的机制。假设您尝试登录 facebook - 常见流程是:

1) 打开应用 2)点击登录按钮 3) 登录脸书 4) 应用验证使用 facebook 登录,获取生成的令牌 5) 应用程序将生成的令牌提供给 Cognito,获取 id 和凭据。

要捕获登录事件,您需要某种后端来拦截登录事件并具有某种登录到身份验证方式的映射,然后一旦该提供者批准登录,您就可以触发身份验证文本/推送通知...等

更新:这不再是真的,Cognito 用户池服务会为您管理用户并允许 SMS MFA 进行身份验证。

【讨论】:

  • 注册流程是怎样的?我希望用户使用手机号码和 2FA 注册,而不是使用 facebook 或 openid 注册。我应该在哪个阶段与 Cognito 建立联系?
  • 如果你想使用手机号码而不是公共提供商,你可以使用开发者认证的身份。注册后,该应用程序可以将信用发送到您的后端。这将注册用户并触发 MFA 事件。未来的登录将从应用程序转到您的后端,后端将验证它们并调用 Cognito API GetOpenIdTokenForDeveloperIdentity。这将为您提供信誉和 id 以返回您的应用程序以供使用。由于 Cognito 目前不为您管理用户,因此无法帮助您进行注册。
  • 更新:Cognito 用户池是 Cognito 的一个新分支,它为您管理用户并允许 SMS MFA 进行用户身份验证。
猜你喜欢
  • 2016-06-06
  • 2020-05-16
  • 2019-07-21
  • 1970-01-01
  • 1970-01-01
  • 2012-11-03
  • 1970-01-01
  • 1970-01-01
  • 2013-06-06
相关资源
最近更新 更多