在Aws控制台创建API Gateway服务,我们这里创建HTTP的Api Gateway。

集成选择lamda函数

lambda_apigateway的代码比较简单,只是返回一个’Hello from Lambda!’
export const handler = async(event) => {
// TODO implement
const response = {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!'),
};
return response;
};

配置一个路由/abc1

用RESTClient测试一下。

我们可以给Api Gateway附加授权,就是在Api Gateway调用lambda函数之前,加一个权限的验证。这个权限验证可以是JWT,也可以是另外一个lambda函数。


我们使用lambda函数来做授权


授权lambda函数的例子
export const handler = async(event) => {
let response = {
"isAuthorized": false,
"context": {
"stringKey": "value",
"numberKey": 1,
"booleanKey": true,
"arrayKey": ["value1", "value2"],
"mapKey": {"value1": "value2"}
}
};
if (event.headers.authorization === "secretToken") {
response = {
"isAuthorized": true,
"context": {
"stringKey": "value",
"numberKey": 1,
"booleanKey": true,
"arrayKey": ["value1", "value2"],
"mapKey": {"value1": "value2"}
}
};
}
return response;
};
创建成功

我们再次测试一下,发现调用失败了。

在Header中加入authorization:secretToken, 调用成功!
