Codelab_ Authentification et autorisation basées sur des jetons.pdf

Codelab : Authentification et autorisation basées sur des jetons

Objectifs

Dans ce Codelab, nous allons créer un exemple d'API Node.js Express REST qui prend en charge l'authentification basée sur des jetons avec JWT (JSONWebToken).


Authentification basée sur des jetons

Par rapport à l'authentification basée sur la session qui doit stocker la session sur le cookie, le grand avantage de l'authentification basée sur le jeton est que nous stockons le JSON WEB TOKEN (JWT) côté client : stockage local pour le navigateur, et préférences partagées pour Android…

Il y a trois parties importantes d'un JWT : Header, Payload, Signature. Ensemble, ils sont combinés en une structure standard : header.payload.signature.

Le client attache généralement JWT dans l'en-tête d'autorisation (authorization) avec le préfixe (Bearer) :

Ou uniquement dans l'en-tête x-access-token :

Voici les API que nous devons fournir :

Méthodes URLs Actions
POST /auth/signup créer un nouveau compte utilisateur
POST /auth/signin connecter un compte utilisateur
GET /test/all récupérer du contenu public
GET /test/user accéder au contenu de l'utilisateur enregistré

Vous pouvez avoir un aperçu de notre application Node.js Express JWT avec le schéma ci-dessous :

Via les routes express, la requête HTTP qui correspond à une route sera vérifiée par le middleware CORS avant d'arriver à la couche de sécurité.