0

Я только что попробовал версию .1.0.0-beta.1.1 из Serverless, которая выглядит очень перспективной.Можно ли установить авторизацию запроса в файле 'serverless.yml' с помощью Serverless 1.0.0-beta.1.1?

Я хочу аутентифицировать запросы, используя AWS_IAM.

Я могу использовать консоль API AWS Gateway и изменить каждый запрос метода от none до AWS_IAM. Рукой, я могу заставить его работать.

Однако я предпочел бы изменить файл serverless.yml в своих службах без сервера.

Я пытался добавить authorizationType поле следующим образом:

- http: 
     path: greet 
     method: get 
     authorizationType: AWS_IAM 

но не обновляет параметры авторизации по API шлюза, а также несанкционированные запросы по-прежнему принимаются.


Любая идея, если файл serverless.yml может быть настроен на использование AWS_IAM?

ответ

1

заказ на следующую ссылку для ближе я нашел на помощь с проверкой подлинности:

https://github.com/serverless/serverless/blob/85f4084e6b0fd4a6d763ace8cd0db82817bbc712/lib/plugins/aws/deploy/compile/events/apiGateway/README.md#http-setup-with-custom-authorizer

Я не использовал AWS_IAM, но вот как я определяю аутентификацию CUSTOM, который должен указывать общий формат.

functions: 
    hello: 
    handler: handler.hello 
    events: 
     - http: 
      path: hello 
      method: get 
      authorizer: 
      arn: arn:aws:lambda:us-east-1:xxxxxx:function:jwtAuthorize 
      resultTtlInSeconds: 0 
      identitySource: method.request.header.Authorization 
      identityValidationExpression: JWT [^\.]+\.[^\.]+\.[^\.]+ 

Поэтому, я думаю, вам нужно добавить раздел authorizer. Я не могу проверить это, но дайте мне знать, если он не работает таким образом:

functions: 
    hello: 
    handler: handler.hello 
    events: 
     - http: 
      path: hello 
      method: get 
      authorizer: 
      authorizationType: AWS_IAM 
+0

спасибо, я дам это выстрел ... – Manube

+0

authorizationType: AWS_IAM, конечно, не работает. ServerlessError: Пожалуйста, укажите либо имя авторизатора, либо ARN – rOrlig

2

В бессерверной 1.0.0-RC2 можно установить authorizationType следующим

functions: 
    hello: 
    handler: handler.hello 
    events: 
     - http: 
      path: hello 
      method: get  

resources: 
    Resources: 
    ApiGatewayMethodHelloGet: 
     Properties: 
     AuthorizationType: AWS_IAM 
+0

спасибо, дайте ему шанс, когда я смогу ... – Manube