2017-07-24 1 views
1

J'essaie d'utiliser AWS Custom Authorizer dans API Gateway. Si j'ai bien compris, je devrais authentifier l'utilisateur dans un autorisateur personnalisé. Je ne sais pas qui envoie la demande. Je devrais détecter l'utilisateur par jeton en utilisant mes propres services. Droite?Comment authentifier un utilisateur dans AWS Custom Authorizer?

Répondre

1

Il y a plusieurs options autorisateur disponibles

  • IAM de autorisateur
  • Cognito approbateur
  • sur mesure approbateur

Si vous utilisez STS émis jeton pour autoriser l'accès à vos ressources AWS alors vous pouvez utiliser IAM. De même Cognito autorizer doit authentifier le jeton d'identifiant Cognito Userpools.

Si vous possédez votre propre système d'authentification ou si vous avez besoin de personnaliser le mécanisme d'authentification, vous pouvez utiliser l'autorisa- teur personnalisé.

1

Je voulais juste ajouter mes 2 cents ici, voici le flux:

  1. Une fois le jeton porteur (vous pouvez utiliser JWT aussi bien), est délivré au client (c.-à-application mobile/web app), le client appelle l'API REST créée, configurée et déployée via API Gateway.

  2. L'autorisateur personnalisé, qui est une fonction lambda écrite en Java (vous pouvez l'implémenter en utilisant NodeJS, C#, Python), devra vérifier si le jeton de support est valide. Dans mon cas, le jeton Bearer est haché à l'aide de l'algorithme SHA-512. Donc, nous correspondons essentiellement si le jeton est stocké dans la base de données et le jeton présenté par le client.

  3. Si le jeton correspond alors, approbateur personnalisé politique de retour IAM Permettez mais ce jeton est pas correct, alors il renvoie la politique IAM Deny,

La passerelle API réagit basée sur la réponse de approbateur personnalisée, Si la stratégie permet à elle de passer l'appel à backend, elle renvoie le code HTTP 403.

Espérons que cela aiderait.