【发布时间】:2018-03-23 00:31:59
【问题描述】:
自定义授权
Lambda执行角色:完全访问Api网关和Lambda
令牌来源: method.request.header .Authorization
令牌验证:空白
将此自定义授权添加到 api 方法请求。授权人测试成功,但我请求 Postman 上的 api 然后 401。
{
"message": "Unauthorized"
}
自定义授权方 Lambda
console.log('Loading function');
exports.handler = function(event, context, callback) {
console.log("event:",JSON.stringify(event)); console.log("event:",JSON.stringify(context));
console.log('Client token: ' + event.authorizationToken);
console.log('Method ARN: ' + event.methodArn);
callback(null, {
"principalId": "18",
"policyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1459758003000",
"Effect": "Allow",
"Action": [
"execute-api:Invoke"
],
"Resource": [
"arn:aws:execute-api:*"
]
}
]
}
});
}
邮递员代码:
curl --request GET \
--url {url} \
--header 'authorization: Test Token' \
--header 'cache-control: no-cache' \
--header 'content-type: application/json' \
--header 'postman-token: c9110a92-414e-e1aa-61fb-194758dace86'
解决方案
令牌来源:授权
【问题讨论】:
标签: amazon-web-services aws-lambda aws-api-gateway