首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API网关认知授权器不授权访问令牌,但将授权Id令牌: 401未经授权

API网关认知授权器不授权访问令牌,但将授权Id令牌: 401未经授权
EN

Stack Overflow用户
提问于 2022-04-23 18:20:13
回答 1查看 46关注 0票数 0

我已经创建了一个认知用户池,并配置了一个API网关。当我用ID令牌测试授权程序时,它可以授权,但我需要授权访问令牌并检查特定范围:aws.cognito.signin.user.admin

根据我的理解(这可能是错误的),如果我设置了OAuth作用域,那么授权人将把令牌读入访问令牌而不是id令牌。

我的API上有一个具有以下授权设置的方法:

我检查了访问令牌的JWT,并确认它包括:

"token_use": "access"

"scope": "aws.cognito.signin.user.admin openid profile email"

当我到达端点时,我收到一条401消息:未经授权

我已经对AWS文档和堆栈溢出进行了几天的深入研究,并且无法弄清楚授权的最后一部分,如果能为检查的东西提供任何帮助,我们将不胜感激。因为这是我第一次使用这种技术,我肯定我只是错过了一些简单的配置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-21 19:24:15

解决方案:您的API方法-没有OAuth作用域。如果要使用访问令牌而不是id令牌,则添加OAuth作用域。

从文件里

使用COGNITO_USER_POOLS授权器时,如果未指定OAuth Scopes选项,则against将提供的令牌视为身份令牌,并根据来自用户池的标识验证声明的标识。否则,API网关将提供的令牌视为访问令牌,并根据方法上声明的授权范围验证令牌中声明的访问范围。

Amazon (https://aws.amazon.com/premiumsupport/knowledge-center/cognito-custom-scopes-api-gateway/)是不正确的- curl命令不包括授权头的前缀。它也没有说明您必须在API方法中添加OAuth作用域。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71982492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档