Serverless: Erreurs de l'autorisateur personnalisé lors du déploiement

Créé le 8 févr. 2017  ·  3Commentaires  ·  Source: serverless/serverless

Ceci est un rapport de bogue

La description

API Gateway semble ne pas accepter les jetons d'authentification correctement lorsqu'il est configuré
avec un autorisateur personnalisé, pour tout ce que j'ai pu trouver, la demande n'a pas été touchée
l'autorisation et est rejetée par API Gateway.

lorsqu'il est configuré comme ceci :

  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 .*

API Gateway répond comme suit :

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

Et lorsqu'il est configuré comme ceci :

  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 .*

L'erreur est :

{
  "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"
}

Donnée supplémentaire

  • Version du framework sans serveur que vous utilisez : 1.6.1 :

Merci!

Commentaire le plus utile

Ceci est généralement lié à la demande d'une URL qui n'existe pas. Veuillez vous assurer que vous utilisez la méthode HTTP et le chemin de ressource corrects vers une ressource valide (l'exemple d'URL d'appel n'inclut aucun chemin de ressource). Assurez-vous également de ne pas oublier de déployer avant de tester.

Tous les 3 commentaires

@BarakChamo merci pour l'ouverture.

Pourriez-vous peut-être fournir la solution à votre problème afin que ceux qui tombent sur ce problème puissent voir comment il peut être résolu ?

Merci! ??

Ceci est généralement lié à la demande d'une URL qui n'existe pas. Veuillez vous assurer que vous utilisez la méthode HTTP et le chemin de ressource corrects vers une ressource valide (l'exemple d'URL d'appel n'inclut aucun chemin de ressource). Assurez-vous également de ne pas oublier de déployer avant de tester.

Comme @jorgecar l'a mentionné, cela se produit lorsque l'URL n'existe pas. Si vous ajoutez des ressources à API Gateway, n'oubliez pas de déployer ces API.

Cette page vous a été utile?
0 / 5 - 0 notes