如何修改 AWS Cognito JWT Tokens,我们正在使用 NodeJS 技术问题
Posted
技术标签:
【中文标题】如何修改 AWS Cognito JWT Tokens,我们正在使用 NodeJS 技术问题【英文标题】:How to modify AWS Cognito JWT Tokens, we are using NodeJS technical question 【发布时间】:2021-08-09 21:00:50 【问题描述】:我正在使用 AWS Cognito 进行用户管理。我在 JWT 令牌(有效负载中)中获得了太多信息。我不想将它传递给接收 API 客户端。所以我的问题是如何减少数据或获取只有用户需要的数据。发送这么多数据是安全问题。
我没有找到任何文档或控制台控件来修改它们。
例如我只想要:
"exp": 0000000000,
"at": 0000000000,
"username":"exampleUsername"
【问题讨论】:
你看过npmjs.com/package/jsonwebtoken吗? 【参考方案1】:听起来您的客户可能是第三方,或者您不太信任。您可以为此应用程序设置单独的 Cognito UserPool 应用程序客户端。然后编写一个 Pre Token Generation Lambda 来禁止您不想向此客户端公开的令牌字段,并将其分配给正确的 UserPool App Client。
https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html
您可能已经知道这一点,但是在令牌发出后,您无法在不使令牌失效的情况下对其进行编辑。
【讨论】:
以上是关于如何修改 AWS Cognito JWT Tokens,我们正在使用 NodeJS 技术问题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 .AddJwtBearer() 在 .NET Core Web API 中验证 AWS Cognito JWT
更改 AWS Cognito 访问令牌 JWT 中的加密算法