如何使用amazon cognito实现密码过期和密码可存档功能

时间:2017-01-05 03:23:50

标签: ruby-on-rails ruby amazon-web-services devise amazon-cognito

我有一个Ruby on rails应用程序,我已经集成AWS Cognito来实现SSO。这一切都正常。早些时候,我使用devise进行身份验证并实现password_expirablepassword_archivable。我搜索了Amazon docs for ruby但找不到任何方法来实现它。

我正在寻找一些示例或指导,以使用AWS Cognito实现相同的目标。

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

目前在Cognito中没有内置的密码到期支持。可以考虑将来发布的东西。

出于安全原因,Cognito仅存储SRP密码验证程序,因此无法检查已保存密码的历史记录并且与新密码相匹配。所以这不太可能在将来实施。

答案 1 :(得分:0)

根据SSO的性质,用户可能会使用他们的Facebook,Google +,Microsoft帐户进行身份验证。您不想强迫他们在这些帐户上重置密码吗?

多因素身份验证(MFA)会更符合您的安全要求吗?

如果是这样,您可以使用Amazon Cognito设置User Pool。使用用户池,您可以以编程方式访问用户池和enforce MFA。然后,通过Amazon SNS或电子邮件,用户可以通过电话或电子邮件进行身份验证。

答案 2 :(得分:0)

要强制用户重置密码,可以使用Cognito的预身份验证触发事件。在用户池中有一个字段,用于检查密码的使用期限。如果超过了确定的期限,则让Lamdba触发器生成一个事件,以强制用户使用AdminResetUserPassword API更改密码。每当用户更新密码时,也请确保更新密码的使用期限,以及其他密码更改流程(“忘记密码”流程)的一部分。