So fügen Sie Google OAuth-Login in Website mit PHP hinzu
Wenn Sie eine Website betreiben, auf der sich ein Benutzer registrieren kann, möchten Sie möglicherweise die Google OAuth-Anmeldefunktion hinzufügen. Die Google-Anmeldung für Websites bietet Benutzern einen einfachen Registrierungsprozess. Ihre Nutzer können ihr Google-Konto verwenden, um sich bei Ihrer Website anzumelden. Sie müssen nicht Ihr Registrierungsformular ausfüllen, ihr Konto per E-Mail aktivieren usw.
In diesem Artikel erfahren Sie, wie Sie die Google OAuth-Login-Funktion zu Ihrer Website hinzufügen.
Holen Sie sich Ihre Zugangsdaten
Um mit der Google-Login-API zu beginnen, müssen Sie zunächst ein Projekt bei Google erstellen und Ihre Anmeldeinformationen abrufen. Im Folgenden sind die Schritte aufgeführt, die Sie ausführen sollten, um das Google-Projekt zu erstellen.
- Rufen Sie die Google-Entwicklerkonsole auf.
- Klicken Sie auf das Dropdown-Menü und erstellen Sie ein neues Projekt, indem Sie auf das (+)-Zeichen klicken. Alternativ können Sie auch das vorhandene Projekt auswählen.
- Wählen Sie Ihr Projekt aus und klicken Sie auf ‘APIS UND DIENSTE AKTIVIEREN’. Geben Sie in das Suchfeld "Google+" ein und wählen Sie die Google+ API aus. Aktivieren Sie es.
- Rufen Sie erneut Ihr Projekt-Dashboard auf und wählen Sie in der Seitenleiste Anmeldeinformationen aus.
- Klicken Sie auf der Registerkarte Anmeldeinformationen auf das Dropdown-Menü Anmeldeinformationen erstellen und wählen Sie OAuth-Client-ID aus.
- Wählen Sie unter Anwendungstyp die Webanwendung aus. Geben Sie unter Autorisierte Weiterleitungs-URLs die URL ein
YOUR_DOMAIN_URL/index.php
- Sobald Sie es gespeichert haben, erhalten Sie das Dialogfeld zusammen mit Ihrer Client-ID und Ihrem Client-Geheimnis. Kopieren Sie diese Schlüssel, die wir in den nächsten Schritten benötigen.
Möglicherweise bemerken Sie die Umleitungs-URL, die wir in der Anwendung festgelegt haben. In diesem Tutorial behandeln wir den Rückrufcode in der index.php
. Es steht dem Benutzer frei, zu diesem Zweck jede andere Datei zu verwenden.
Installation der HybridAuth-Bibliothek
HybridAuth ist eine Open-Source-Social-Sign-On-PHP-Bibliothek. Mit dieser Bibliothek können wir ein Social Login für einen oder mehrere Anbieter wie Google, Facebook, Twitter usw. hinzufügen.
Lassen Sie uns die HybridAuth-Bibliothek mit einem Composer installieren. Erstellen Sie eine composer.json
Datei im Stammordner des Projekts und fügen Sie den folgenden Code hinzu.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
Öffnen Sie als Nächstes das Terminal in Ihrem Projektstammverzeichnis und führen Sie den Befehl aus:
composer install
Erstellen Sie die config.php
Datei und fügen Sie den folgenden Code hinzu, um das Google-Login zu konfigurieren.
<?php
require_once 'vendor/autoload.php';
$config = [
'callback' => 'YOUR_DOMAIN_URL/index.php',
'keys' => [
'id' => 'YOUR_CLIENT_ID',
'secret' => 'YOUR_CLIENT_SECRET'
],
'scope' => 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email',
'authorize_url_parameters' => [
'approval_prompt' => 'force', // to pass only when you need to acquire a new refresh token.
'access_type' => 'offline'
]
];
$adapter = new HybridauthProviderGoogle( $config );
Stellen Sie sicher, dass Sie die Platzhalter durch die tatsächlichen Werte ersetzen. Im obigen Code haben wir YOUR_DOMAIN_URL/index.php
als Rückrufwert übergeben. Passen Sie diesen Pfad gemäß Ihren Anforderungen an.
Google OAuth-Login hinzufügen
Wir sind alle mit unseren Konfigurationen fertig und gut, um fortzufahren. Lassen Sie uns also Dateien index.php
und logout.php
in Ihrem Projektstammverzeichnis erstellen .
index.php
<?php
require_once 'config.php';
try {
$adapter->authenticate();
$userProfile = $adapter->getUserProfile();
print_r($userProfile);
echo '<a href="logout.php">Logout</a>';
}
catch( Exception $e ){
echo $e->getMessage() ;
}
Wenn Sie nun index.php
im Browser laufen, überprüft unser Code zunächst, ob der Benutzer bei ‘Google’ authentifiziert ist oder nicht. Wenn nicht, wird auf die Google-Anmeldeseite weitergeleitet. Der Benutzer muss sich mit seinem Google-Konto anmelden und wird dann index.php
erneut auf das Konto weitergeleitet. Sobald der Benutzer zur Anmeldeseite gelangt, erhalten wir das Benutzerprofil mithilfe der Methode getUserProfile()
.
In der logout.php
Datei müssen wir nur den Google-Adapter trennen.
logout.php
<?php
require_once 'config.php';
try {
if ($adapter->isConnected()) {
$adapter->disconnect();
echo 'Logged out the user';
echo '<p><a href="index.php">Login</a></p>';
}
}
catch( Exception $e ){
echo $e->getMessage() ;
}
Wir hoffen, dass Sie auf einer Website mit PHP etwas über Google OAuth Login erfahren. Bitte teilen Sie Ihre Gedanken im Kommentarbereich unten mit.
Zum Thema passende Artikel
- Google-Login in Laravel mit Laravel Socialite
- So integrieren Sie den MailChimp-Newsletter in die Laravel-Anwendung
- So erstellen Sie ein Backup der Laravel-Anwendung