You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS AppSync中AccessToken与IDToken返回结果不一致问题排查

解决方案:AWS AppSync使用Access Token时distributor字段返回null的问题
  • 确认Access Token包含目标字段
    先用jwt.io解码你的Access Token,检查Payload里是否存在distributor(或对应自定义字段名,比如custom:distributor)。如果没有,需要在身份提供商(如Cognito)的配置中调整:

    • 若使用Cognito User Pool,进入用户池的App客户端设置,在"OAuth 2.0"的范围里添加包含该字段的自定义范围,或者在用户池的属性映射中配置将用户属性映射到Access Token的Claims里。
  • 调整Resolver的字段读取逻辑
    检查你的Resolver配置(VTL模板或Lambda代码):

    • 对于VTL模板,确保读取的是Access Token中的正确Claims路径,比如如果字段是custom:distributor,则模板中应写为$context.identity.claims['custom:distributor'],而不是ID Token中可能的键名。
    • 对于Lambda Resolver,查看触发事件中的requestContext.identity.claims结构,调整代码中提取字段的逻辑,确保从Access Token的Claims中正确获取distributor值。
  • 验证AppSync身份验证配置
    确认AppSync API的身份验证模式已正确配置为支持Access Token:

    • 如果使用Cognito User Pool作为身份提供商,检查AppSync的身份验证设置中,是否指定了正确的用户池ID和客户端ID,并且令牌验证器能正确解析Access Token的Claims。
  • 测试验证
    调整配置后,用curl重新发送携带Access Token的请求,验证distributor字段是否返回预期值。若仍有问题,查看CloudWatch中Lambda的执行日志,确认传入的上下文是否包含正确的字段值,排查是否存在解析或映射错误。

内容的提问来源于stack exchange,提问作者Hideman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:02:01