我有一个角形应用程序,它使用AWS认知为认证,我想禁用用户后,5次不成功的尝试。有一个方法adminDisableUser(),但它需要管理凭据。我正在考虑Lambda功能,它应该在预注册或预认证时触发,它应该检查尝试是否成功。如果不成功,则应该增加自定义属性的值,例如custom:failedAttempts。如果值等于5,则应禁用用户。lambda可以通过管理权限来执行,因此它可以使用adminUpdateUserAttributes()和adminDisableUser(),但是我不太确定这是如何发生的,因为我对AWS和IAM并不熟悉。提前谢谢你!
发布于 2019-10-31 14:53:47
虽然根据我自己的经验,似乎可以稍微收紧一下登录端点,但认知功能已经限制了登录端点以防止野蛮的登录攻击。我认为您提出的计划是一种危险的方法,因为恶意用户可能为任何用户发送5次错误的登录尝试,并将其锁定在外。
如果您确实希望将用户锁定在外,则需要手动干预才能重新启用用户,则您的方法应该有效。预身份验证和后身份验证触发器可能是您要寻找的。在预身份验证中(在成功身份验证之前触发),查找用户(因为用户没有经过身份验证,使用adminGetUser ),并使用adminUpdateUserAttributes增加一个自定义属性。如果增量值大于允许的登录失败次数,则使用adminDisableUser禁用用户。
在身份验证后(成功登录后触发),将自定义属性重置为零。
https://stackoverflow.com/questions/58539336
复制相似问题