Serverless: Erros do autorizador personalizado na implantação

Criado em 8 fev. 2017  ·  3Comentários  ·  Fonte: serverless/serverless

Este é um relatório de bug

Descrição

O API Gateway parece não aceitar tokens de autenticação corretamente quando configurado
com um autorizador personalizado, por tudo que pude encontrar, a solicitação não atingiu o evento
o autorizado e está sendo rejeitado pelo API Gateway.

quando configurado assim:

  whoami:
    handler: src/lambdas/session/whoami.handler
    events:
      - http:
          path: session/whoami
          method: get
          cors: true
          authorizer:
            name: customAuthorizer
            resultTtlInSeconds: 0
            identitySource: method.request.header.Authorization
            identityValidationExpression: Bearer .*

O API Gateway responde com o seguinte:

{
  "message": "'sometoken' not a valid key=value pair (missing equal-sign) in Authorization header: 'Bearer sometoken'."
}

E quando configurado assim:

  whoami:
    handler: src/lambdas/session/whoami.handler
    events:
      - http:
          path: session/whoami
          method: get
          cors: true
          authorizer:
            name: customAuthorizer
            resultTtlInSeconds: 0
            identitySource: method.request.header.Authorization
            identityValidationExpression: Bearer .*

O erro é:

{
  "message": "Authorization header requires 'Credential' parameter. Authorization header requires 'Signature' parameter. Authorization header requires 'SignedHeaders' parameter. Authorization header requires existence of either a 'X-Amz-Date' or a 'Date' header. Authorization=sometoken"
}

Dados Adicionais

  • Versão do Serverless Framework que você está usando: 1.6.1 :

Obrigado!

Comentários muito úteis

Isso geralmente está relacionado à solicitação de uma URL que não existe. Verifique se você está usando o método HTTP e o caminho de recurso corretos para um recurso válido (o URL de invocação de exemplo não inclui nenhum caminho de recurso). Além disso, lembre-se de implantar antes de testar.

Todos 3 comentários

Ei @BarakChamo obrigado por abrir.

Você poderia fornecer a solução para o seu problema para que outras pessoas que se deparam com esse problema possam ver como ele pode ser resolvido?

Obrigado! 👍

Isso geralmente está relacionado à solicitação de uma URL que não existe. Verifique se você está usando o método HTTP e o caminho de recurso corretos para um recurso válido (o URL de invocação de exemplo não inclui nenhum caminho de recurso). Além disso, lembre-se de implantar antes de testar.

Como @jorgecar mencionou, isso acontece quando a URL não existe. Se você estiver adicionando recursos ao API Gateway, não se esqueça de implantar essas APIs.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

bradgreens picture bradgreens  ·  3Comentários

tomyam1 picture tomyam1  ·  3Comentários

jnicho02 picture jnicho02  ·  3Comentários

ubaniabalogun picture ubaniabalogun  ·  3Comentários

chris-hailstorm picture chris-hailstorm  ·  3Comentários