AWS API 网关和 Spring 引导自定义授权
AWS API Gateway and Spring boot custom authorization
我目前正在从事一个需要自定义身份验证过程的项目。
此应用程序将部署在 AWS 平台上,我正在考虑使用以下 AWS 服务,如
- API 网关
- 自定义授权
- EKS
计划将所有后端服务部署在docker个容器中,并使用EKS服务进行容器编排过程。
所有输入请求都将通过 API 网关进行验证,并路由到相应的后端服务。
我们将通过以下可能的步骤使用自定义授权流程:
- 我们的应用程序(比如 CHILD-APP)将与现有应用程序(比如 PARENT-APP)集成,其中 PARENT-APP 将负责用户身份验证。
- 用户认证成功后,PARENT-APP会向CHILD-APP请求访问令牌(JWT Token)。
- CHILD-APP 用户界面将使用此访问令牌进行后端请求调用。
- 我们正在使用自定义访问令牌验证流程来检查令牌完整性、用户名验证和其他附加验证(由于合规性,无法公开)。
- 目前我正在使用 Spring 引导 API 网关进行 URL 路由和访问令牌验证。
- 也使用自定义 Spring Cloud Eureka 服务器来注册服务。
问题:
- 如何使用 AWS API 网关进行此类自定义身份验证和授权过程?
- 我可以将 Spring Cloud Eureka 服务器和自定义授权与 AWS API 网关一起使用吗?
感谢任何与此相关的帮助。
谢谢,
阿维纳什
您似乎正在寻找 AWS Lambda 授权器:https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html 这些是 lambda 函数,可用于在网关级别授权访问您的 API。
在 Curity,我们最近创建了这样一个授权方,它向授权服务器执行内省请求,以将不透明令牌交换为 JWT:https://github.com/curityio/aws-phantom-token-lambda-authorizer 看来您需要类似的东西。您的授权方可以调用父应用程序,它将对令牌执行所有自定义验证并 return 一个正确的结果,然后 AWS Lambda 授权方将使用它来做出授权决定。
我目前正在从事一个需要自定义身份验证过程的项目。 此应用程序将部署在 AWS 平台上,我正在考虑使用以下 AWS 服务,如
- API 网关
- 自定义授权
- EKS
计划将所有后端服务部署在docker个容器中,并使用EKS服务进行容器编排过程。
所有输入请求都将通过 API 网关进行验证,并路由到相应的后端服务。
我们将通过以下可能的步骤使用自定义授权流程:
- 我们的应用程序(比如 CHILD-APP)将与现有应用程序(比如 PARENT-APP)集成,其中 PARENT-APP 将负责用户身份验证。
- 用户认证成功后,PARENT-APP会向CHILD-APP请求访问令牌(JWT Token)。
- CHILD-APP 用户界面将使用此访问令牌进行后端请求调用。
- 我们正在使用自定义访问令牌验证流程来检查令牌完整性、用户名验证和其他附加验证(由于合规性,无法公开)。
- 目前我正在使用 Spring 引导 API 网关进行 URL 路由和访问令牌验证。
- 也使用自定义 Spring Cloud Eureka 服务器来注册服务。
问题:
- 如何使用 AWS API 网关进行此类自定义身份验证和授权过程?
- 我可以将 Spring Cloud Eureka 服务器和自定义授权与 AWS API 网关一起使用吗?
感谢任何与此相关的帮助。
谢谢,
阿维纳什
您似乎正在寻找 AWS Lambda 授权器:https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html 这些是 lambda 函数,可用于在网关级别授权访问您的 API。
在 Curity,我们最近创建了这样一个授权方,它向授权服务器执行内省请求,以将不透明令牌交换为 JWT:https://github.com/curityio/aws-phantom-token-lambda-authorizer 看来您需要类似的东西。您的授权方可以调用父应用程序,它将对令牌执行所有自定义验证并 return 一个正确的结果,然后 AWS Lambda 授权方将使用它来做出授权决定。