Maison >développement back-end >tutoriel php >PHP et OAuth : implémentation de l'intégration de la connexion Google

PHP et OAuth : implémentation de l'intégration de la connexion Google

王林
王林original
2023-07-30 22:37:551742parcourir

PHP et OAuth : implémentation de l'intégration de Google Login

OAuth est un standard ouvert d'autorisation, qui permet aux utilisateurs d'autoriser l'accès à leurs données sur d'autres sites Web via des applications tierces. Pour les développeurs, l'utilisation d'OAuth peut permettre aux utilisateurs de se connecter à des plateformes tierces, d'obtenir des informations sur les utilisateurs et d'accéder aux données des utilisateurs. Dans cet article, nous nous concentrerons sur la façon d'utiliser OAuth pour mettre en œuvre l'intégration de Google Login.

Google fournit le protocole OAuth 2.0 pour aider les utilisateurs à accéder à ses services. Pour mettre en œuvre l'intégration de la connexion Google, vous devez d'abord enregistrer un compte de développeur Google et créer un projet API Google. Ensuite, nous expliquerons comment mettre en œuvre l'intégration de la connexion Google en suivant les étapes suivantes.

  1. Créez un identifiant client OAuth
    Dans la console API Google, créez un identifiant client OAuth. Afin de réussir à créer un identifiant client, vous devez fournir certaines informations nécessaires, telles que le nom de l'application, l'URL de redirection, etc. Après la création, un ID client et un secret client sont générés, qui seront utilisés dans les étapes suivantes.
  2. Définir l'URL de redirection
    Dans la console API Google, assurez-vous que l'URL de redirection correcte est définie. L'URL de redirection est l'adresse URL vers laquelle l'utilisateur sera redirigé après une connexion réussie afin que nous puissions obtenir le code d'autorisation et le jeton d'accès.
  3. Obtenir le code d'autorisation
    Pour obtenir le code d'autorisation, vous devez créer une URL d'authentification Google OAuth, qui contient certains paramètres, tels que l'ID client, l'URL de redirection, la portée d'accès à l'application, etc. Les utilisateurs seront redirigés vers cette URL pour la connexion et l'autorisation. Voici un exemple de code :
$authUrl = 'https://accounts.google.com/o/oauth2/auth';
$client_id = 'YOUR_CLIENT_ID';
$redirect_uri = 'YOUR_REDIRECT_URI';
$scope = 'email profile';
$response_type = 'code';

$url = $authUrl . '?' . http_build_query([
    'client_id' => $client_id,
    'redirect_uri' => $redirect_uri,
    'scope' => $scope,
    'response_type' => $response_type,
]);

header("Location: $url");
exit();
  1. Obtenir un jeton d'accès
    Une fois que l'utilisateur s'est connecté et autorisé avec succès, il sera redirigé vers l'URL de redirection que nous avons fournie avec un code d'autorisation. Nous devons utiliser ce code d'autorisation pour obtenir le jeton d'accès. Voici un exemple de code :
$tokenUrl = 'https://www.googleapis.com/oauth2/v4/token';
$client_id = 'YOUR_CLIENT_ID';
$client_secret = 'YOUR_CLIENT_SECRET';
$redirect_uri = 'YOUR_REDIRECT_URI';
$code = $_GET['code'];

$data = [
    'code' => $code,
    'client_id' => $client_id,
    'client_secret' => $client_secret,
    'redirect_uri' => $redirect_uri,
    'grant_type' => 'authorization_code',
];

$options = [
    'http' => [
        'header' => "Content-type: application/x-www-form-urlencoded
",
        'method' => 'POST',
        'content' => http_build_query($data),
    ],
];

$context = stream_context_create($options);
$response = file_get_contents($tokenUrl, false, $context);

$token = json_decode($response, true);
$access_token = $token['access_token'];
  1. Obtenir des informations sur l'utilisateur
    Après avoir obtenu le jeton d'accès, nous pouvons utiliser le jeton pour obtenir des informations sur l'utilisateur telles que l'e-mail et le nom de l'utilisateur. Voici un exemple de code :
$userInfoUrl = 'https://www.googleapis.com/oauth2/v2/userinfo';

$options = [
    'http' => [
        'header' => "Authorization: Bearer $access_token
",
    ],
];

$context = stream_context_create($options);
$response = file_get_contents($userInfoUrl, false, $context);

$userInfo = json_decode($response, true);
$email = $userInfo['email'];
$name = $userInfo['name'];

Avec les cinq étapes ci-dessus, nous pouvons intégrer la connexion Google à l'aide de PHP et OAuth. Un code d'autorisation peut être obtenu une fois que l'utilisateur s'est connecté avec succès et utilisé pour obtenir un jeton d'accès. À l'aide du jeton d'accès, nous pouvons obtenir des informations sur les utilisateurs et les utiliser dans notre application.

Bien qu'il ne s'agisse que d'un exemple de base, il montre comment intégrer la connexion Google à l'aide de PHP et OAuth. OAuth prend également en charge d'autres plateformes, telles que Facebook, Twitter, etc. En utilisant OAuth, nous pouvons facilement mettre en œuvre l'intégration de connexion de diverses plates-formes tierces, obtenir des informations sur les utilisateurs et accéder aux données des utilisateurs.

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:
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