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

AWS API网关和Spring boot自定义授权

徐阳炎
2023-03-14

我目前正在做一个需要自定义身份验证过程的项目。该应用程序将部署在AWS平台上,我正在考虑使用以下AWS服务,如

  1. API网关
  2. 定制授权
  3. EKS

计划是在docker容器中部署所有后端服务,并使用EKS服务进行容器编排过程。所有输入请求都将通过API网关进行验证,并路由到相应的后端服务
我们将通过以下可能的步骤使用自定义授权流程:

  1. 我们的应用程序(例如CHILD-APP)将与现有应用程序(例如PARENT-APP)集成,其中PARENT-APP将负责用户身份验证。
  2. 用户身份验证成功后,PARENT-APP将向CHILD-APP请求访问令牌(JWT令牌)。
  3. CHILD-APP用户界面将使用此访问令牌进行后端请求调用。
  4. 我们正在使用自定义访问令牌验证过程来检查令牌完整性、用户名验证和其他附加验证(由于合规性而无法公开)。
  5. 目前我正在使用Spring Boot API网关进行URL路由和访问令牌验证。
  6. 还使用自定义Spring Cloud Eureka服务器来注册服务。

问题:

  1. 如何使用AWS API网关进行此类自定义身份验证和授权过程

任何与此相关的帮助都将不胜感激。

谢谢,

阿维纳什

共有1个答案

范云
2023-03-14

似乎你正在寻找AWS Lambda授权人:https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html这些是lambda函数,可用于在网关级别授权访问API。

在Cure,我们最近创建了这样一个授权器,它向授权服务器执行内省请求,以将不透明令牌交换为JWT:https://github.com/curityio/aws-phantom-token-lambda-authorizer看起来您需要类似的东西。您的授权者可以调用父应用html" target="_blank">程序,该应用程序将对令牌执行所有自定义验证并返回正确的结果,然后AWS Lambda授权者将使用该结果来做出授权决定。

 类似资料:
  • 我是API网关的新手。我尝试使用“自定义授权程序”。我遵循了下面的文档,并使用了网站提供的示例代码。https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html “令牌类型的lambda授权者”是工作的。 但是... 我对“请求类型”感到困惑,不知道如何将quer

  • Mono Apr 10 09:42:35 UTC 2017:转换后的endpoint请求主体:{“Type”:“Token”,“AuthorizationToken”:“ABC123”,“MethodArn”:“arn:aws:execute-api:ap-southeast-1:007183653813:OHLQXU9P57/null/Get/”}Mono Apr 10 09:42:36 UTC

  • 但是看起来在我的lambda响应和API网关之间发生了一些奇怪的事情, 变量在内部的某个地方被压缩得更低, 而我仍然得到了相同的解析错误, 它会接受其他格式的响应吗?字符串也不起作用。 我还应该尝试什么?我的策略格式错误吗? 我从这些站点获得了两种不同的策略格式- 1。http://docs.aws.amazon.com/apigateway/latest/developerguide/use-c

  • 对于Kinesis流,我使用AWSAPI网关创建了一个代理API。我为代理添加了一个使用python Lambda的自定义授权器。在发布lambda函数和部署API之后,我能够使用网关测试功能成功地测试API。我可以在cloudwatch中看到日志,其中包含来自自定义auth lambda函数的详细打印。成功身份验证后,API网关将记录推送到我的Kinesis流 但是当我从Chrome Postm

  • 我希望为AWS Lambda/zappa使用一些“无服务器api服务器”,它使用自定义api网关授权器进行用户身份验证。在无服务器AWS lambda服务中,使用自定义授权器而不是直接在代码控制器中检查发布的JWT令牌是否有相当大的安全性或成本效益?对我来说,用代码检查可能更方便。 更新我去了预请求钩子,但是有头级授权器,它更容易用于CORS,但它不支持的zappa我相信。也可以通过swagger

  • 如何从API网关中的自定义授权器lambda函数获取日志记录?我不想为API启用日志记录。我需要从授权器lambda函数日志记录。我使用了一个python lambda函数,并且在代码中有打印。我想查看云观察日志中的指纹。但在云观察中看不到原木。我也没有错误。我缺少什么? Lambda有execution role role/service-role/mylambdarole。此角色具有写入clo