Want to make creations as awesome as this one?

Transcript

Sécurité des API REST

2. Protocoles de sécurité (OAuth, JWT)

1. Authentification et autorisation

Objectifs : découvrez dans cette séquence de formation comment sécuriser une API REST.

Sommaire

Authentification et autorisation

L’authentification est le processus de vérification de l’identité d’un utilisateur, tandis que l’autorisation est le processus de vérification des permissions d’un utilisateur. Dans le contexte des API REST, cela signifie généralement l’utilisation de tokens (jetons) pour authentifier les utilisateurs et vérifier leurs permissions avant d’autoriser l’accès à une ressource.

1- Authentification et autorisation

Porte d'entrée d'une API :

Protocoles de sécurité (OAuth, JWT)

Il existe plusieurs protocoles de sécurité couramment utilisés pour sécuriser les API REST, notamment :OAuth : un protocole qui permet à une application d’accéder à des ressources d’une autre application en son nom, sans avoir besoin de connaître les identifiants de l’utilisateur. Supposons que vous développiez une application qui permet aux utilisateurs de partager leurs réalisations de jeu sur Twitter. Au lieu de demander aux utilisateurs leurs identifiants Twitter, votre application peut utiliser OAuth pour obtenir un accès limité à leur compte Twitter. Dans ce scénario, votre application redirigerait les utilisateurs vers une page de connexion Twitter. Après s’être connectés, Twitter demanderait aux utilisateurs s’ils autorisent votre application à publier en leur nom. Si les utilisateurs acceptent, Twitter redirige les utilisateurs vers votre application avec un code d’autorisation, que votre application peut échanger contre un token d’accès. Votre application peut ensuite utiliser ce token d’accès pour publier sur Twitter en nom des utilisateurs. Tout cela se fait sans que votre application ait jamais besoin de connaître les identifiants Twitter des utilisateurs. Pour plus d’informations sur OAuth, vous pouvez consulter la documentation officielle d’OAuth.

2- Protocoles de sécurité (OAuth, JWT)

Les protocoles :

JWT (JSON Web Token) : un standard qui définit un moyen compact et autonome de transmettre des informations entre les parties sous forme d’un objet JSON. Ces informations peuvent être vérifiées et sont dignes de confiance car elles sont signées numériquement.Supposons maintenant que vous ayez une API qui nécessite une authentification. Au lieu de demander aux utilisateurs de fournir leurs identifiants pour chaque requête, votre API peut utiliser JWT. Lorsqu’un utilisateur se connecte, votre API vérifie ses identifiants et, si ils sont valides, génère un JWT et le renvoie à l’utilisateur. Ce JWT contient des informations sur l’utilisateur et est signé numériquement par votre API pour garantir son intégrité. L’utilisateur peut ensuite inclure ce JWT dans l’en-tête Authorization de chaque requête à votre API. Votre API peut vérifier la signature du JWT pour s’assurer qu’il est valide et extraire les informations de l’utilisateur. Cela permet à votre API de savoir qui est l’utilisateur et de vérifier ses permissions sans avoir besoin de demander ses identifiants pour chaque requête.Voici le lien vers la documentation :

2- Protocoles de sécurité (OAuth, JWT)

Les protocoles :

3- Suite du cours sur les API

Retour sur VirtualSchool

Vous venez de terminer cette séquence de formation ! Bravo à présent c'est à vous de jouer ! Rendez-vous dans VirtualSchool pour poursuivre l'aventure... Au programme le bloc de cours 05 intitulé : "développement d'une API REST en PHP"

Terminé !