要使用AWS使用计划API密钥和自定义授权者,可以按照以下步骤进行操作:
aws configure
按照提示输入你的AWS访问密钥和区域。
exports.handler = async function(event, context) {
// 验证传入的请求是否具有有效的API密钥
const apiKey = event.headers['x-api-key'];
if (apiKey !== process.env.API_KEY) {
return {
statusCode: 401,
body: 'Invalid API Key'
};
}
// 验证通过,允许请求继续
return {
statusCode: 200,
body: 'Authorized'
};
};
在上面的代码中,我们从请求头中获取传入的API密钥,并将其与环境变量中的API密钥进行比较。如果不匹配,返回401未授权错误;如果匹配,返回200授权成功。
然后,你可以在API Gateway中创建一个使用计划,并将其与自定义授权者关联。在API Gateway控制台中,选择你的API,然后在左侧导航栏中选择“使用计划”。点击“创建使用计划”,然后配置使用计划的详细信息。
在使用计划配置页面的“API 密钥”部分,选择“API 密钥来源”为“使用计划”并选择一个使用计划。这将使API Gateway要求在访问API时提供一个有效的API密钥。
在使用计划配置页面的“自定义授权”部分,选择“启用自定义授权”并选择你之前创建的Lambda函数作为授权函数。
保存使用计划的配置,并将其部署到API Gateway。
现在,当你通过API Gateway访问API时,API Gateway将要求提供有效的API密钥,并将调用你的自定义授权函数来验证API密钥的有效性。