PHP est un langage de programmation côté serveur populaire. Il peut être utilisé pour créer différents types d’applications Web, des simples sites Web statiques aux plateformes de médias sociaux complexes. Dans ces applications, OAuth (Open Authorization) est une méthode d'authentification courante. Il permet aux utilisateurs de se connecter et d'utiliser des applications via des fournisseurs de services tiers (tels que Facebook, Twitter, etc.). Dans cet article, nous verrons comment implémenter l'authentification OAuth à l'aide de l'extension OAuth de PHP.
OAuth2.0 est la dernière version du protocole OAuth. Il offre aux développeurs des options plus flexibles pour gérer la sécurité des utilisateurs. L'extension OAuth pour PHP est devenue l'une des extensions PHP standard pour OAuth 2.0. Grâce à cette extension, vous pouvez facilement appeler des API OAuth tierces telles que Facebook ou Google.
L'extension OAuth de PHP fournit trois types d'autorisation OAuth : code d'autorisation, informations d'identification du mot de passe du propriétaire de la ressource et informations d'identification du client. Dans les sections suivantes, nous détaillerons ces trois types d'autorisation et comment les utiliser pour implémenter l'authentification OAuth2.0.
Type d'autorisation du code d'autorisation
Le code d'autorisation est un type d'autorisation du protocole OAuth2.0. Il autorise l'application en redirigeant l'utilisateur vers le serveur d'autorisation et en obtenant un code d'autorisation.
Voici comment utiliser le type d'autorisation Authorization Code dans l'extension OAuth de PHP :
1. Créez un objet OAuth
Avant d'utiliser l'extension OAuth de PHP, vous devez créer un objet OAuth. Vous pouvez facilement créer un objet OAuth avec la ligne de code suivante :
$oauth = new OAuth($clientId, $clientSecret, OAUTH_SIG_METHOD_HMACSHA256, OAUTH_AUTH_TYPE_AUTHORIZATION);
Où $clientId et $clientSecret sont la clé API et le mot de passe que vous avez obtenus auprès du fournisseur de services tiers. OAUTH_SIG_METHOD_HMACSHA256 et OAUTH_AUTH_TYPE_AUTHORIZATION sont des constantes utilisées pour identifier le type d'autorisation et l'algorithme de signature.
2. Demander le code d'autorisation
Ensuite, vous devez demander le code d'autorisation à l'aide de l'objet OAuth. Vous pouvez facilement demander un code d'autorisation avec la ligne de code suivante :
$oauth->setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); $oauth->fetch($authorizeEndpoint, array('response_type' => 'code', 'client_id' => $clientId, 'redirect_uri' => $redirectUri));
où $authorizeEndpoint est l'URL du serveur d'autorisation, $clientId est la clé API de votre application et $redirectUri est l'URL de rappel que vous avez configurée dans les paramètres de votre application.
3. Obtenez le jeton d'accès
Une fois que vous avez le code d'autorisation, vous pouvez obtenir le jeton d'accès en utilisant cette ligne de code :
$oauth->setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); $oauth->fetch($tokenEndpoint, array('grant_type' => 'authorization_code', 'code' => $code, 'client_id' => $clientId, 'client_secret' => $clientSecret, 'redirect_uri' => $redirectUri));
où $tokenEndpoint est l'URL du point de terminaison du jeton d'accès et $code est celui obtenu. dans le code d'autorisation de l'étape précédente.
Type d'autorisation des informations d'identification du mot de passe du propriétaire de la ressource
Les informations d'identification du mot de passe du propriétaire de la ressource sont un type d'autorisation du protocole OAuth2.0. Il vous permet de fournir directement les informations d'identification de l'utilisateur pour obtenir un jeton d'accès.
Voici comment utiliser le type d'autorisation Resource Owner Password Credentials dans l'extension OAuth de PHP :
1 Créez un objet OAuth
Comme mentionné ci-dessus, la création d'un objet OAuth nécessite les lignes de code suivantes :
$oauth = new OAuth($clientId, $clientSecret, OAUTH_SIG_METHOD_HMACSHA256, OAUTH_AUTH_TYPE_AUTHORIZATION);
2. jeton d'accès
Ensuite, vous devez demander un jeton d'accès à l'aide de l'objet OAuth. Vous pouvez facilement demander un jeton d'accès avec la ligne de code suivante :
$oauth->setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); $oauth->fetch($tokenEndpoint, array('grant_type' => 'password', 'username' => $username, 'password' => $password, 'client_id' => $clientId, 'client_secret' => $clientSecret));
où $tokenEndpoint est l'URL du point de terminaison pour le jeton d'accès et $username et $password sont les informations d'identification de l'utilisateur.
Type d'autorisation des informations d'identification client
Les informations d'identification client sont un type d'autorisation du protocole OAuth2.0. Il fournit à votre application un accès à des API tierces sans interaction de l'utilisateur.
Voici comment utiliser le type d'autorisation Client Credentials dans l'extension OAuth de PHP :
1 Créez un objet OAuth
Comme mentionné ci-dessus, la création d'un objet OAuth nécessite les lignes de code suivantes :
$oauth = new OAuth($clientId, $clientSecret, OAUTH_SIG_METHOD_HMACSHA256, OAUTH_AUTH_TYPE_AUTHORIZATION);
2.
Ensuite, vous devez demander un jeton d'accès à l'aide de l'objet OAuth. Vous pouvez facilement demander un jeton d'accès avec la ligne de code suivante :
$oauth->setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); $oauth->fetch($tokenEndpoint, array('grant_type' => 'client_credentials', 'client_id' => $clientId, 'client_secret' => $clientSecret));
où $tokenEndpoint est l'URL du point de terminaison du jeton d'accès et $clientId et $clientSecret sont la clé API et le mot de passe de votre application.
Conclusion
Dans cet article, nous avons présenté l'extension OAuth de PHP et les trois types d'autorisation du protocole OAuth2.0 : code d'autorisation, informations d'identification du mot de passe du propriétaire de la ressource et informations d'identification du client. Grâce à ces types d'autorisations, vous pouvez facilement implémenter l'authentification OAuth. J'espère que cet article vous a été utile pour utiliser l'extension OAuth pour PHP.
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!