Amazon web services 使用OneLogin进行AWS API网关身份验证

Amazon web services 使用OneLogin进行AWS API网关身份验证,amazon-web-services,aws-api-gateway,openid-connect,onelogin,Amazon Web Services,Aws Api Gateway,Openid Connect,Onelogin,我一直在探索,我想我对如何使用它有了基本的了解;我成功地将示例应用程序配置为使用OneLogin进行身份验证,并且我理解代码 我想用AWSAPI网关试试。我已经在AWS中定义了一个API。在较高的层次上,我知道我需要在AWS中为OneLogin配置一个授权人,并且在我调用AWS Api网关时,需要在头中传递一些信息(我假设在与AWS交互之前通过OneLogin验证获得的承载令牌,但我不知道) 有人能给我描述一下我需要做什么吗?我在这里看到的关于这个主题的最新问题是在2016年发布的,当时的答案是

我一直在探索,我想我对如何使用它有了基本的了解;我成功地将示例应用程序配置为使用OneLogin进行身份验证,并且我理解代码

我想用AWSAPI网关试试。我已经在AWS中定义了一个API。在较高的层次上,我知道我需要在AWS中为OneLogin配置一个授权人,并且在我调用AWS Api网关时,需要在头中传递一些信息(我假设在与AWS交互之前通过OneLogin验证获得的承载令牌,但我不知道)


有人能给我描述一下我需要做什么吗?我在这里看到的关于这个主题的最新问题是在2016年发布的,当时的答案是“你不能那样做”。这个答案在过去4年中发生了变化。OneLogin文档说这是可以做到的,但我没有找到关于如何做到这一点的信息。

一般模式

授权人职能部门的作用是执行以下操作:

  • 验证访问令牌
  • 有选择地收集其他索赔
  • 缓存具有相同令牌的后续请求的声明
  • 提供对业务逻辑的声明
事实上,这是一个可以在任何地方使用的通用模式,如我的

令牌验证

  • 我会用这个

  • 我的一些调用内省端点的NodeJS代码是

AWS规范

由于您使用的是OneLogin,因此需要编写一些自定义代码。您的lambda授权人需要执行标准OAuth 2.0工作,然后返回AWS策略文档。我的一些资源可能会帮助您了解这是如何工作的:

痛点

AWS管道有点痛苦,你可能对我使用了一些不同的技术选择——我使用的是无服务器框架


不过,希望这能让您在本地运行并与之进行比较。很乐意回答任何后续问题…

一种方法是将onelogin与AWS cognito集成,然后将cognito与api网关集成: