


Introduction au protocole OAuth2.0 et à l'accès PHP
Introduction à OAuth2.0
OAuth (Open Authorization) est un moyen sécurisé d'autoriser les informations utilisateur à des tiers sans communiquer au tiers le compte et le mot de passe de l'utilisateur, un protocole standard ouvert. Pour plus d'introduction au protocole, les lecteurs peuvent se référer à la RFC 6749.
Commençons par une brève explication du mode Code d'Autorisation le plus classique sous ce protocole. L'introduction est la suivante :
Expliquons qu'il existe un. total de quatre personnages.
ResourceOwner est le propriétaire de la ressource, qui est notre utilisateur lui-même
User-Agent est le navigateur que nous utilisons pour accéder à l'application
Le client est un service tiers
AuthorizationServer est un serveur d'authentification, qui peut être compris comme le fournisseur de ressources utilisateur.
Ensuite, le processus d'appel est :
L'utilisateur accède lui-même au service tiers du Client via le navigateur, et le Client construit OAuth2 Le lien (les paramètres incluent l'ID d'identité du service tiers actuel et l'URI de redirection) guide l'utilisateur vers la page d'autorisation du serveur d'authentification
À ce moment, le l'utilisateur choisit d'accepter ou non l'autorisation sur le navigateur
Si l'utilisateur accepte l'autorisation, le serveur d'authentification redirigera l'utilisateur vers l'URI de redirection spécifié dans la première étape et joindra un code d'autorisation Code
-
Le service tiers reçoit le code d'autorisation, apporte l'URI de redirection de la source du code d'autorisation et demande un certificat au serveur d'authentification.
Le serveur d'authentification vérifie la validité du code d'autorisation et de l'URI de redirection, et émet un AccessToken (identifiant d'appel) après l'avoir transmis
d et e sont tous exécutés côté serveur, et il n'y a pas besoin de passer par le navigateur
Conception d'OAuth2
1. Construction du lien de connexion d'autorisation
Premièrement, lorsqu'un utilisateur accède à une application, le front-end appelle l'interface du serveur. Le serveur détecte que l'utilisateur n'est pas connecté et construit un lien d'autorisation à. cette fois.
$redirect_uri = 'https://test.xx.ccom/index'; $this->goUrl('https://auth.xx.com/connect/oauth2/authorize?appid=xxx&redirect_uri='.$redirect_uri);
Renvoie le lien vers le front-end, et le front-end passe directement au lien. Ensuite, https://auth.xx.com/connect/oauth2/authorize
affiche une page demandant s'il accepte l'autorisation. L'utilisateur clique sur Autoriser et le serveur d'authentification sera redirigé. directement vers redirect_uri et porter un paramètre Code. Lorsque le serveur reçoit ce paramètre de code, il utilise ce paramètre pour se rendre sur le serveur d'authentification afin d'obtenir le access_token.
$code = $_GET['code']; $res = file_get_contents('.$code ); $access_token = $res['access_token'];
Ensuite, le serveur utilise ce jeton d'accès au serveur d'authentification en échange d'informations utilisateur.
$res = file_get_contents('https://auth.xx.com/user_info?token='.$access_token ); $uid = $res['uid']; $name = $res['name'];
Suggestions de schéma de mise en cache
Les utilisateurs peuvent effectuer certaines mises en cache via ce protocole pour éviter une pression excessive sur le serveur d'authentification.
Des tiers peuvent concevoir certains principes de cookies pour stocker les informations de l'utilisateur et éviter de demander constamment au serveur d'authentification.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)