我有一个Ruby on rails应用程序,我已经集成AWS Cognito
来实现SSO。这一切都正常。早些时候,我使用devise
进行身份验证并实现password_expirable
和password_archivable
。我搜索了Amazon docs for ruby但找不到任何方法来实现它。
我正在寻找一些示例或指导,以使用AWS Cognito
实现相同的目标。
感谢您的帮助
答案 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更改密码。每当用户更新密码时,也请确保更新密码的使用期限,以及其他密码更改流程(“忘记密码”流程)的一部分。