Table des matières
Suggestions de schéma de mise en cache
Maison programmation quotidienne Connaissance PHP Introduction au protocole OAuth2.0 et à l'accès PHP

Introduction au protocole OAuth2.0 et à l'accès PHP

May 15, 2020 pm 06:05 PM
1

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 :

Introduction au protocole OAuth2.0 et à laccès PHP

Expliquons qu'il existe un. total de quatre personnages.

  1. ResourceOwner est le propriétaire de la ressource, qui est notre utilisateur lui-même

  2. User-Agent est le navigateur que nous utilisons pour accéder à l'application

  3. Le client est un service tiers

  4. AuthorizationServer est un serveur d'authentification, qui peut être compris comme le fournisseur de ressources utilisateur.

Ensuite, le processus d'appel est :

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

  2. À ce moment, le l'utilisateur choisit d'accepter ou non l'autorisation sur le navigateur

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

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

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

Introduction au protocole OAuth2.0 et à laccès PHP

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);
Copier après la connexion

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'];
Copier après la connexion

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'];
Copier après la connexion

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.

  1. 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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