如何在Serverless框架中为Lambda函数配置AWS API Gateway自定义授权器
使用Serverless Framework为Lambda函数配置API Gateway自定义授权器
我看到你已经在为你的test-service服务配置API Gateway自定义授权器了,下面是整理好的规范配置示例,以及一些关键配置项的说明:
service: test-service provider: name: aws runtime: nodejs6.10 stage: dev region: us-east-1 functions: bff: handler: app.handler events: - http: path: /home method: get cors: true authorizer: arn: arn:aws:lambda:us-east-1:xxxxxx:function:token-verifier resultTtlInSeconds: 0 identitySource: method.request.header.Authorization
关键配置项说明:
- authorizer.arn:这里指定了负责验证令牌的Lambda函数ARN,要确保部署Serverless服务的IAM角色拥有调用该
token-verifier函数的权限,否则API Gateway会无法触发授权验证 - resultTtlInSeconds: 0:设置为0表示禁用授权结果缓存,每次请求都会触发授权器进行验证,适合令牌有效期短或者需要实时权限校验的场景;如果需要缓存,可以设置一个大于0的数值(比如300,即5分钟)来减少授权器的调用次数
- identitySource:指定从请求的
Authorization请求头中获取身份凭证,这是处理JWT、Bearer Token等常见身份验证方式的标准配置 - cors: true:开启了跨域资源共享支持,注意要确保你的授权器函数返回的响应包含正确的CORS响应头(比如
Access-Control-Allow-Origin),否则前端跨域请求可能会失败
内容的提问来源于stack exchange,提问作者Shanika Ediriweera
相关产品推荐
相关产品推荐

