我使用AWS Cognito进行用户管理。我在JWT代币(有效载荷(中获得了太多信息。我不想把它传递给接收API客户端。因此,我的问题是如何减少数据或获取仅对用户必要的数据。发送那么多数据是安全问题。
我找不到任何文档或控制台控件可以对其进行修改。
例如,我只想要:
"exp": 0000000000,
"at": 0000000000,
"username":"exampleUsername"
听起来你的客户可能是第三方,或者你信任度较低。您可以为此应用程序设置一个单独的Cognito UserPool应用程序客户端。然后编写一个Pre-Token Generation Lambda来抑制您不想向该客户端公开的令牌字段,并将其分配给正确的UserPool App client。
https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html
您可能已经知道这一点,但在令牌发布后,如果不使令牌无效,则无法对其进行编辑。