我正在使用AWS的以下文档通过Cognito验证传入令牌,以验证cognito池中的用户: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html
现在,我还需要验证该用户的自定义属性(电子邮件)之一。 (基本上,这是为了缓解某些用户可以更改API有效负载中的电子邮件ID以访问其他人的详细信息的情况。)
我发现执行此操作的Cognito SDK是这样的:https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html
它工作得很好,但是这引出了我一个问题: 由于我是在此SDK中发送访问令牌的,因此我还需要使用以前的基于jwt的令牌验证吗?因为此SDK还处理令牌无效/过期的情况,并相应地发送错误代码。我缺少前者处理而后者没有的东西吗?
答案 0 :(得分:0)
简短的回答:不,您可以忽略JWT的内容。
更长的答案:JWT令牌提供了一种快速的方法来验证用户是否已通过身份验证,而无需检查数据库或外部服务。在大容量应用程序中,这可能非常重要。
但是,它们有几个限制:
如果这些限制中的任何一个适用于特定用例(听起来像第三个限制适用于您),那么您就必须对身份服务器进行该外部服务调用。然后,如果并且服务器报告了身份验证状态,,则无需注意令牌。