Come aggiungere l’accesso OAuth a Google nel sito Web con PHP
Se stai eseguendo un sito Web in cui un utente può registrarsi, potresti voler aggiungere la funzione di accesso di Google OAuth. L’accesso a Google per i siti web aggiunge un facile processo di registrazione per gli utenti. I tuoi utenti possono utilizzare il loro account Google per registrarsi al tuo sito web. Non hanno bisogno di compilare il modulo di registrazione, attivare il proprio account tramite e-mail, ecc.
In questo articolo, studiamo come aggiungere la funzione di accesso di Google OAuth al tuo sito web.
Ottieni le tue credenziali
Per iniziare con l’API di accesso di Google, devi prima creare un progetto su Google e ottenere le tue credenziali. Di seguito sono riportati i passaggi da eseguire per creare il progetto Google.
- Vai alla Console per gli sviluppatori di Google.
- Fare clic sul menu a discesa e creare un nuovo progetto facendo clic sul segno (+). In alternativa, puoi selezionare anche il progetto esistente.
- Seleziona il tuo progetto e clicca su ‘ABILITA API E SERVIZI’. Nella casella di ricerca digita "Google+" e seleziona l’API di Google+. Abilitalo.
- Torna nuovamente alla dashboard del tuo progetto e seleziona Credenziali dalla barra laterale.
- Nella scheda Credenziali, fai clic sul menu a discesa Crea credenziali e seleziona ID client OAuth.
- Selezionare l’applicazione Web da Tipo di applicazione. Negli URL di reindirizzamento autorizzati inserisci l’URL
YOUR_DOMAIN_URL/index.php
- Dopo averlo salvato, otterrai la finestra di dialogo insieme al tuo ID cliente e al segreto del cliente. Copia queste chiavi di cui avremo bisogno nei prossimi passaggi.
Potresti notare l’URL di reindirizzamento che abbiamo impostato nell’applicazione. In questo tutorial, gestiremo il codice di callback nel file index.php
. Gli utenti sono liberi di utilizzare qualsiasi altro file per questo scopo.
Installazione della libreria HybridAuth
HybridAuth è una libreria PHP di accesso social open source. Utilizzando questa libreria, possiamo aggiungere un accesso social per uno o più provider come Google, Facebook, Twitter, ecc.
Installiamo la libreria HybridAuth usando un compositore. Crea un composer.json
file nella cartella principale del progetto e aggiungi il codice seguente al suo interno.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
Quindi, apri il terminale nella directory principale del tuo progetto ed esegui il comando:
composer install
Crea il config.php
file e aggiungi il codice qui sotto per configurare l’accesso a 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 );
Assicurati di sostituire i segnaposto con i valori effettivi. Nel codice sopra abbiamo passato YOUR_DOMAIN_URL/index.php
come valore di callback. Modifica questo percorso in base alle tue esigenze.
Aggiungi l’accesso OAuth a Google
Siamo tutti a posto con le nostre configurazioni e siamo pronti ad andare avanti. Quindi, creiamo i file index.php
e logout.php
nella directory principale del tuo progetto.
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() ;
}
Ora, quando esegui index.php
nel browser, il nostro codice verifica innanzitutto se l’utente è autenticato con "Google" o meno. In caso contrario, reindirizza alla pagina di accesso di Google. L’utente deve accedere con il proprio account Google e quindi verrà reindirizzato di index.php
nuovo. Una volta che l’utente arriva alla pagina di accesso, otteniamo il profilo utente utilizzando il metodo getUserProfile()
.
Nel logout.php
file dobbiamo solo disconnettere l’adattatore Google.
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() ;
}
Ci auguriamo che tu possa conoscere Google OAuth Login su un sito Web con PHP. Per favore condividi i tuoi pensieri nella sezione commenti qui sotto.
articoli Correlati
- Accedi a Google in Laravel utilizzando Laravel Socialite
- Come integrare la newsletter di MailChimp nell’applicazione Laravel
- Come eseguire il backup dell’applicazione Laravel