Heim  >  Artikel  >  Backend-Entwicklung  >  PHP und OAuth: Implementierung der Google Login-Integration

PHP und OAuth: Implementierung der Google Login-Integration

王林
王林Original
2023-07-30 22:37:551614Durchsuche

PHP und OAuth: Implementierung der Google Login-Integration

OAuth ist ein offener Standard für die Autorisierung, der es Benutzern ermöglicht, den Zugriff auf ihre Daten auf anderen Websites über Anwendungen von Drittanbietern zu autorisieren. Für Entwickler kann die Verwendung von OAuth es Benutzern ermöglichen, sich bei Plattformen von Drittanbietern anzumelden, Benutzerinformationen abzurufen und auf Benutzerdaten zuzugreifen. In diesem Artikel konzentrieren wir uns auf die Verwendung von OAuth zur Implementierung der Integration von Google Login.

Google stellt das OAuth 2.0-Protokoll zur Verfügung, um Benutzern den Zugriff auf seine Dienste zu erleichtern. Um die Google-Login-Integration zu implementieren, müssen Sie zunächst ein Google-Entwicklerkonto registrieren und ein Google-API-Projekt erstellen. Als nächstes erklären wir Ihnen, wie Sie die Google-Login-Integration mit den folgenden Schritten implementieren.

  1. Erstellen Sie eine OAuth-Client-ID.
    Erstellen Sie in der Google API-Konsole eine OAuth-Client-ID. Um erfolgreich eine Client-ID zu erstellen, müssen Sie einige notwendige Informationen angeben, z. B. Anwendungsname, Weiterleitungs-URL usw. Nach der Erstellung werden eine Client-ID und ein Client-Geheimnis generiert, die in den folgenden Schritten verwendet werden.
  2. Umleitungs-URL festlegen
    Stellen Sie in der Google API-Konsole sicher, dass die richtige Umleitungs-URL festgelegt ist. Die Weiterleitungs-URL ist die URL-Adresse, zu der der Benutzer nach erfolgreicher Anmeldung weitergeleitet wird, damit wir den Autorisierungscode und das Zugriffstoken erhalten können.
  3. Autorisierungscode abrufen
    Um den Autorisierungscode zu erhalten, müssen Sie eine Google OAuth-Authentifizierungs-URL erstellen, die einige Parameter wie Client-ID, Umleitungs-URL, Anwendungszugriffsbereich usw. enthält. Benutzer werden zur Anmeldung und Autorisierung zu dieser URL weitergeleitet. Hier ist ein Beispielcode:
$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. Zugriffstoken abrufen
    Nachdem sich der Benutzer erfolgreich angemeldet und autorisiert hat, wird er zu der Weiterleitungs-URL weitergeleitet, die wir mit einem Autorisierungscode bereitgestellt haben. Wir müssen diesen Autorisierungscode verwenden, um das Zugriffstoken zu erhalten. Hier ist ein Beispielcode:
$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. Benutzerinformationen abrufen
    Nachdem wir das Zugriffstoken erhalten haben, können wir das Token verwenden, um Benutzerinformationen wie die E-Mail-Adresse und den Namen des Benutzers abzurufen. Das Folgende ist ein Beispielcode:
$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'];

Mit den oben genannten fünf Schritten können wir die Google-Anmeldung mithilfe von PHP und OAuth integrieren. Nachdem sich der Benutzer erfolgreich angemeldet hat, kann ein Autorisierungscode abgerufen und zum Erhalten eines Zugriffstokens verwendet werden. Mit Hilfe des Zugriffstokens können wir Benutzerinformationen abrufen und diese in unserer Anwendung verwenden.

Obwohl dies nur ein einfaches Beispiel ist, zeigt es, wie man die Google-Anmeldung mit PHP und OAuth integriert. OAuth unterstützt auch andere Plattformen wie Facebook, Twitter usw. Durch die Verwendung von OAuth können wir die Login-Integration verschiedener Plattformen von Drittanbietern problemlos implementieren und Benutzerinformationen sowie Zugriff auf Benutzerdaten erhalten.

Das obige ist der detaillierte Inhalt vonPHP und OAuth: Implementierung der Google Login-Integration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn