如果登录期间出现故障,AWS Cognito InitiateAuth 可能会抛出 NotAuthorizedException。
我面临的问题是客户端可能会出于多种原因抛出异常:
但似乎没有特定的异常,因此我认为正确处理此问题的唯一方法是检查返回的消息
{'Error': {'Code': 'NotAuthorizedException',
'Message': 'Temporary password has expired and must be reset by an '
'administrator.'},
...
这是正确的方法吗?因为测试消息字符串似乎非常不稳定(无论出于何种原因,应该从 sdk 更改它,因为它只是一条显示消息)。
最后,我希望能够了解用户是否只是发送了错误的身份验证数据,或者其临时密码是否已完全“损坏”并且应该重置
这确实是错误响应的结构。有点愚蠢,但似乎没有比字符串匹配错误消息文本更好的方法来处理这个问题了。
似乎是 Cognito 团队的疏忽。