当前位置: 首页 > 知识库问答 >
问题:

AWS API-网关认知授权程序未使用有效令牌

邓威
2023-03-14

一个简单的APIendpoint,带有一个Cognito用户池授权器,当使用授权器测试按钮(或使用邮差/失眠)和一个有效令牌失败时(截图bellow):

我知道该令牌是有效的,因为我可以使用相同的令牌成功调用Cognito用户池user-infoendpoint,并返回所需的响应。此外,删除授权程序(将其设置为none),也将返回所需的响应。我试过带或不带载体...,我还试过将授权令牌源更改为方法.请求.头.授权,这是我在一些旧问题中发现的,但保存后立即又改回授权,而方法.响应.头.授权似乎也不起作用。API是通过CloudFormation堆栈部署的。

共有1个答案

梁烨
2023-03-14

我正在编写一个关于这个问题的完整指南,因为缺少文档,而且要为这样一个简单的任务找到正确的信息并不容易。但这可能需要几天的时间,所以在此之前,我会在这里发布一个简短的答案,并且一旦(希望)我完成了指南,我会更新这个答案:

我的问题是我使用的是access_token,但我必须使用identity_token!另一个问题是,所有可用的OAuth2工具(如Postman和Insomnia的Auth模块)都不返回或使用identity_token,它们甚至不显示令牌!尽管它在OAuth2规范中,但没有人使用它(除了Cognito!),...

所以我对OAuth2模块的Insomnia源代码做了一些修改,并使用了正确的令牌,然后它开始工作了!

 类似资料:
  • 我试图让我的API网关与Cognito用户池授权器一起工作,但我似乎无法让它工作。我现在没有使用任何SDK。一些细节-对于Cognito pool,我将设置ID provider设置为Cognito user pool,Oauth flow'impilicit grant‘和scope设置为'openid'。创建了一个应用程序(&domain),还生成了客户端机密。电子邮件是唯一的字段。-在API

  • 我正在尝试将AWSAPI网关授权器与cognito用户池一起使用。当我使用AWSAPI网关控制台进行测试时,它运行良好。 但当我尝试在api中启用授权时,它会显示请查看下面的屏幕截图 有人能帮忙吗? 仅供参考,我已经按照这里提到的说明http://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-wi

  • 我创建了一些Lambda函数,并使用SAM进行了部署。部署是成功的,但当试图到达endpoint时,我总是获得 即使我使用头发送正确的承载令牌。然后,如果我去Authorizer并运行测试,它会很好地通过并在CloudWatch中生成日志,但是当我从前端应用程序或REST客户端应用程序运行到endpoint的请求时,我会得到未经授权的消息,并且检查CloudWatch,就不会执行Authorize

  • 目前,我正在开发无服务器架构,其中AWSAPI网关中有一组资源和方法。我计划将Cognito身份验证(用户池)和授权作为安全层添加到AWS API网关。 AWS API Gateway中有3个授权者,分别是IAM、Cognito用户池和custom lambda。 在我的用例中,登录和注册(身份验证)通过API网关使用Cognoto用户池。这是完美的作品。我的用户将获得应用程序客户端id和客户端密

  • 首先,我对AWS很陌生。从非常基本的API网关+Lambda集成开始。下面是我的用例。 > 与API网关创建了一个Lambda代理集成请求,GET请求输出通过查询参数传递的2个数字的相加。现在,如果我访问这个API网关endpoint,我将获得所需的结果。 现在我已经创建了自定义授权器,它反过来是对另一个lambda的调用。因此请求将在到达API网关endpoint之前由授权者lambda验证。在

  • 我正在尝试使用aws api网关授权器和cognito用户池。当我使用aws api网关控制台进行测试时,它工作得很好。 但当我尝试在api中启用授权时,它显示请查看下面的屏幕截图 有人能帮忙吗。