Jak dodać logowanie Google OAuth do witryny za pomocą PHP
Jeśli prowadzisz witrynę, w której użytkownik może się zarejestrować, możesz dodać funkcję logowania Google OAuth. Logowanie przez Google w witrynach ułatwia użytkownikom proces rejestracji. Twoi użytkownicy mogą używać swojego konta Google do rejestracji w Twojej witrynie. Nie muszą wypełniać formularza rejestracyjnego, aktywować konta przez e-mail itp.
W tym artykule dowiemy się, jak dodać funkcję logowania Google OAuth do swojej witryny.
Zdobądź swoje poświadczenia
Aby rozpocząć korzystanie z interfejsu API logowania Google, musisz najpierw utworzyć projekt w Google i uzyskać swoje dane uwierzytelniające. Poniżej znajdują się kroki, które należy wykonać, aby utworzyć projekt Google.
- Przejdź do Konsoli programisty Google.
- Kliknij na rozwijane menu i utwórz nowy projekt, klikając znak (+). Alternatywnie możesz również wybrać istniejący projekt.
- Wybierz swój projekt i kliknij „WŁĄCZ API I USŁUGI". W polu wyszukiwania wpisz „Google+” i wybierz interfejs API Google+. Odblokuj to.
- Ponownie przejdź do pulpitu nawigacyjnego projektu i wybierz Poświadczenia z paska bocznego.
- Na karcie Poświadczenia kliknij menu rozwijane Utwórz poświadczenia i wybierz Identyfikator klienta OAuth.
- Wybierz aplikację internetową z Typ aplikacji. W Autoryzowanych przekierowaniach wpisz adres URL
YOUR_DOMAIN_URL/index.php - Po zapisaniu otrzymasz okno dialogowe wraz z identyfikatorem klienta i kluczem tajnym klienta. Skopiuj te klucze, których będziemy potrzebować w kolejnych krokach.
Możesz zauważyć przekierowanie, które ustawiliśmy w aplikacji. W tym samouczku zajmiemy się kodem wywołania zwrotnego w index.php. Użytkownicy mogą swobodnie używać w tym celu dowolnego innego pliku.
Instalacja biblioteki HybridAuth
HybridAuth to biblioteka PHP typu open source do logowania społecznościowego. Korzystając z tej biblioteki, możemy dodać login społecznościowy dla jednego lub wielu dostawców, takich jak Google, Facebook, Twitter itp.
Zainstalujmy bibliotekę HybridAuth za pomocą kompozytora. Utwórz composer.jsonplik w folderze głównym projektu i dodaj do niego poniższy kod.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}Następnie otwórz terminal w katalogu głównym projektu i uruchom polecenie:
composer installUtwórz config.phpplik i dodaj poniżej kod, aby skonfigurować logowanie Google.
<?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 );Pamiętaj, aby zastąpić symbole zastępcze rzeczywistymi wartościami. W powyższym kodzie przekazaliśmy YOUR_DOMAIN_URL/index.phpjako wartość wywołania zwrotnego. Dostosuj tę ścieżkę zgodnie ze swoimi wymaganiami.
Dodaj login Google OAuth
Wszyscy przygotowaliśmy nasze konfiguracje i dobrze jest iść do przodu. Więc stwórzmy plików index.phporaz logout.phpw katalogu projektu.
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() ;
}Teraz po uruchomieniu index.phpw przeglądarce nasz kod najpierw sprawdza, czy użytkownik jest uwierzytelniony przez „Google”, czy nie. Jeśli nie, przekierowuje na stronę logowania Google. Użytkownik musi zalogować się na swoje konto Google, a następnie ponownie przekieruje index.php. Gdy użytkownik wchodzi na stronę logowania, uzyskujemy profil użytkownika za pomocą metody getUserProfile().
W logout.phppliku wystarczy odłączyć adapter Google.
wyloguj.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() ;
}Mamy nadzieję, że dowiesz się o logowaniu Google OAuth w witrynie z PHP. Podziel się swoimi przemyśleniami w sekcji komentarzy poniżej.
Powiązane artykuły
- Logowanie Google w Laravel za pomocą Laravel Socialite
- Jak zintegrować biuletyn MailChimp z aplikacją Laravel?
- Jak wykonać kopię zapasową aplikacji Laravel

