更改 AWS Cognito 访问令牌 JWT 中的加密算法

Posted

技术标签:

【中文标题】更改 AWS Cognito 访问令牌 JWT 中的加密算法【英文标题】:Change encryption algorithm in AWS Cognito access token JWT 【发布时间】:2019-12-30 16:41:09 【问题描述】:

当我使用aws提供的the sample code时,访问令牌使用RS256加密如下

"孩子": "hPkzClOPlyg092q+pE4eWdfyWEHi0q9ZMGtxukeawzk=", "alg": “RS256”

我们如何将其更改为其他值,例如 RS512?我已将值 HmacSHA256 替换为 HmacSHA512。但这并没有将算法值更改为 RS512。

【问题讨论】:

【参考方案1】:

根据https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html 和https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html 上的文档,Cognito 始终对其创建的 JWT 令牌使用 RS256 算法(并且无法更改)。

【讨论】:

以上是关于更改 AWS Cognito 访问令牌 JWT 中的加密算法的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core AWS Cognito JWT

如何在 Go 中验证来自 AWS Cognito 的 JWT 令牌?

AWS Cognito 中的“访问令牌不包含 openid 范围”

AWS Cognito JWT 令牌验证

AWS Cognito - 使用 JWT 与 cognito.getUser 开发工具包验证令牌

无效的登录令牌。缺少必需的声明:访问 AWS Cognito AssumeRoleWithWebIdentity 时的 aud