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"
}
Obrigado!
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.
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.