Maison >développement back-end >tutoriel php >Comment utiliser OpenID Connect pour l'authentification API en PHP
À l’ère numérique d’aujourd’hui, l’authentification API est devenue un moyen technique largement utilisé. Pour assurer la sécurité des informations API, de nombreux sites Web et applications utilisent le protocole OpenID Connect pour l'authentification. Ce protocole vous permet d'utiliser un fournisseur d'identité (IdP) tiers pour authentifier les utilisateurs et fournir à votre API la possibilité d'échanger des jetons d'identité et des jetons d'accès. Dans cet article, nous explorerons comment utiliser OpenID Connect pour l'authentification API en PHP.
Tout d'abord, vous devez installer le package de développement PHP approprié d'OpenID Connect dans votre projet PHP afin que il peut être utilisé dans votre application L'API OpenID Connect est utilisée dans le programme. Si vous utilisez Composer Action Manager, exécutez la commande suivante dans le répertoire racine de votre projet pour télécharger et installer :
composer require php-openid/php-openid-connect
#🎜🎜 # If vous n'utilisez pas Composer, vous pouvez l'installer manuellement en téléchargeant le package PHP OpenID Connect depuis GitHub et en le plaçant dans le répertoire de votre projet.require_once "vendor/autoload.php"; $config = [ 'auth0' => [ 'domain' => 'YOUR_AUTH0_DOMAIN', 'client_id' => 'YOUR_AUTH0_CLIENT_ID', 'client_secret' => 'YOUR_AUTH0_CLIENT_SECRET', 'redirect_uri' => 'YOUR_AUTH0_REDIRECT_URI', 'scope' => 'openid profile email' ] ];Ensuite, vous devez créer un objet d'authentification et construire l'URL d'authentification : #🎜🎜 #
$auth0 = new Auth0SDKAuth0($config['auth0']); $auth_url = $auth0->get_login_url();#🎜 🎜#Cela présentera à l'utilisateur une page de connexion où il devra saisir ses informations d'identification pour s'authentifier. Une fois l'utilisateur authentifié, le code sera redirigé vers l'URI fourni en définissant l'URI de redirection. Vous devez ensuite obtenir le jeton d'accès en obtenant le code d'autorisation :
$auth0 = new Auth0SDKAuth0($config['auth0']); $access_token = $auth0->get_access_token();À ce stade, vous avez réussi l'authentification et l'avez obtenu auprès du service d'échange OpenID Connect jeton d'accès. Vous pouvez désormais utiliser ce jeton d'accès pour accéder au point de terminaison d'API protégé et autoriser les demandes des utilisateurs avec celui-ci.
Utiliser le jeton d'accès pour accéder à l'API
$auth0 = new Auth0SDKAuth0($config['auth0']); $access_token = $auth0->get_access_token(); $api_url = "https://example.com/api/protected-endpoint"; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $api_url, CURLOPT_HTTPHEADER => array( 'Authorization: Bearer ' . $access_token, 'Content-Type: application/json' ) )); $response = curl_exec($curl); curl_close($curl); echo $response;
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!