如何从 AWS API 网关自定义授权者检索 spring 引导中的上下文对象?
How to retrieve the context object in spring boot from AWS API Gateway custom authoriser?
我是 运行 AWS ECS 中 spring 引导应用程序的 docker 映像。 API 使用 VPC Link.
通过 AWS API 网关公开
我有一个自定义授权器。
授权方的输出如下所示:
{
"principalId": "",
"policyDocument": {
"Version": "2012-10-17",
"Statement": [{
"Action": "execute-api:Invoke",
"Effect": "Allow",
"Resource": "*"
}]
},
"context": {
"someKey": "1,2,3"
}}
我想访问 spring 引导控制器端点中的上下文对象。如何访问?
在 Lambda 中,我可以使用事件对象访问它。但是,我不知道如何在这里检索。
API 中 path/query 参数中“映射自”的值作为“event.requestContext.authorizer.context.someKey” 网关有效吗?
在 API 网关中特定 API 的“集成请求”部分,我们必须进行映射。
我在“集成请求”的“HTTP Headers”部分创建了一个映射。
Name: userId(You can have any name)
Mapped from: context.authorizer.someKey
context.authorizer.xxxx
xxxx - 表示您要从授权方上下文接收的密钥 object。
我在相应的 spring 引导控制器端点中收到此值作为 HttpServletRequest 的一部分。
字符串用户 = httpServletRequest.getHeaders("userId");
我是 运行 AWS ECS 中 spring 引导应用程序的 docker 映像。 API 使用 VPC Link.
通过 AWS API 网关公开我有一个自定义授权器。
授权方的输出如下所示:
{
"principalId": "",
"policyDocument": {
"Version": "2012-10-17",
"Statement": [{
"Action": "execute-api:Invoke",
"Effect": "Allow",
"Resource": "*"
}]
},
"context": {
"someKey": "1,2,3"
}}
我想访问 spring 引导控制器端点中的上下文对象。如何访问?
在 Lambda 中,我可以使用事件对象访问它。但是,我不知道如何在这里检索。
API 中 path/query 参数中“映射自”的值作为“event.requestContext.authorizer.context.someKey” 网关有效吗?
在 API 网关中特定 API 的“集成请求”部分,我们必须进行映射。 我在“集成请求”的“HTTP Headers”部分创建了一个映射。
Name: userId(You can have any name)
Mapped from: context.authorizer.someKey
context.authorizer.xxxx
xxxx - 表示您要从授权方上下文接收的密钥 object。
我在相应的 spring 引导控制器端点中收到此值作为 HttpServletRequest 的一部分。
字符串用户 = httpServletRequest.getHeaders("userId");