5

我使用Serverless Offline开发一个 Web 项目。

我需要API 密钥来访问无服务器AWS Lamda 的资源。

我的serviceprovider有一个 serverless.yml 。

Postman中,我访问了我的路线(http://127.0.0.1:3333/segments/UUID/test),并且我没有任何错误(作为禁止消息),Lambda 被执行......

test:
  handler: src/Api/segment.test
  events:
    - http:
        path: segments/{segmentUuid}/test
        method: post
        request:
          parameters:
            paths:
              segmentUuid: true
        private: true

有问题的路线不受私有保护。

4

2 回答 2

13

https://www.npmjs.com/package/serverless-offline#token-authorizers

Serverless-offline 将模拟 APIG 的行为并创建一个打印在屏幕上的随机令牌。使用此令牌,您可以访问您的私有方法,将 x-api-key: generatedToken 添加到您的请求标头。所有 api 密钥将共享相同的令牌。要指定自定义令牌,请使用 --apiKey cli 选项。

命令将如下所示:

sls offline --apiKey any-pregenerated-key
于 2018-08-26T11:23:35.570 回答
1

对于本地开发人员,请在 serverless.yml 中使用:

custom:
  serverless-offline:
    apiKey: 'your-key-here'

或者在 serverless.ts 中:

 custom: {
    'serverless-offline': {
      apiKey: 'your-key-here',
    },
  },
于 2021-09-07T13:37:35.777 回答