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

Lambda授权器调用Cognito GetUser报错:Invalid Access Token 排查

Cognito GetUser接口Invalid Access Token错误分析与解决

问题根源

Cognito的GetUser接口必须使用Access Token调用,你传入ID Token的做法直接导致了这个报错。这两种Token的用途完全不同:

  • ID Token:仅用于验证用户身份、获取用户基础身份信息,没有权限调用Cognito的用户管理类接口。
  • Access Token:专门用于授权访问Cognito的用户相关操作接口,是GetUser接口的合法凭证。

获取正确Access Token的方法

Lambda授权器的event结构取决于触发它的服务(比如API Gateway),以最常见的API Gateway TOKEN授权器为例:

  1. 前端登录Cognito时,要同时获取ID Token和Access Token(比如通过Auth.signIn方法,返回的会话数据里会包含这两个Token)。
  2. 前端调用接口时,需要把Access Token放在Authorization请求头里,格式为Bearer <你的Access Token>。
  3. 在Lambda授权器中,从event["authorizationToken"]提取Access Token,注意去掉前缀:
    # 处理Authorization头,提取纯Access Token
    auth_token = event["authorizationToken"]
    access_token = auth_token.split(" ")[1]  # 截取"Bearer "之后的内容
    

额外提醒

  • 别搞混Cognito的三种Token:ID Token、Access Token、Refresh Token,每种的适用场景有严格区分,调用接口前一定要确认所需的Token类型。
  • 调用GetUser之前,可以先对Access Token做合法性校验(比如解析JWT验证签名、有效期),减少无效请求。

内容的提问来源于stack exchange,提问作者Javier Reyero Huerga

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 18:22:04