首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用auth0 as授权的Appsync oidc返回未经授权

使用auth0 as授权的Appsync oidc返回未经授权
EN

Stack Overflow用户
提问于 2020-06-09 19:30:04
回答 1查看 390关注 0票数 1

除了cognito user poolsapi keys,我还在尝试使用auth0作为aws appsyncoidc。更具体地说,我正在尝试使用appsync模式中的多重授权指令,但在使用oidc授权模式和@aws_oidc指令时一直收到unauhtorised错误消息。

对于我的默认授权模式,我使用的是cognito user pools,但也配置了API keys的使用。

现在,我希望在我的模式中使用API指令,以便来自auth0的用户可以对我的@aws_oidc执行操作。我已经在appsync设置中配置了OIDC授权模式,并将与用于针对auth0授权的auth0 jwt令牌中的iss值相同的值设置为颁发者URL值。

我已经检查了该令牌是一个RS256 token,而且它也是一个有效的令牌,如果我使用它向auth0上的/userinfo发送curl请求,我就可以检索用户的属性。

我的模式中有以下变化,我使用它来创建项目。

代码语言:javascript
运行
复制
type Mutation @aws_oicd @aws_iam
@aws_cognito_user_pools {
    createItem(input: CreateItemInput!): Item
    auth0CreateItem(bearerToken: String!, input: CreateItemInput!): Item @aws_oicd

如果设置并使用@aws_apikey指令以及@aws_cognito_user_pools指令,这种变化就会起作用,我可以很好地创建一个项目。

但是,当我添加@aws_oidc指令时,它返回unauthorised valid token。

为什么它会返回这条消息?令牌不起作用的情况下,aws在后台做了什么?我的令牌中是否缺少某些属性?

这是我的代币。

当创建授权模式时,令牌中的ISS值与appsync设置中的发行者url匹配。

这是使用appsync控制台执行查询的响应。

EN

回答 1

Stack Overflow用户

发布于 2020-06-09 20:54:10

所以实际上是一个简单的解决方法。

事实证明,为了使配置正确,令牌中还需要存在AuthTTL和Issued At TTL值,并且这些值需要匹配。

在我的例子中,我所需要做的就是删除appsync oidc设置中的那些值。

这可以在docs here中找到

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

https://stackoverflow.com/questions/62281582

复制
相关文章

相似问题

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