✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Hur man lägger till Google OAuth-inloggning på webbplatsen med PHP

51

Om du driver en webbplats där en användare kan registrera sig kanske du vill lägga till Google OAuth-inloggningsfunktionen. Googles inloggning på webbplatser lägger till en enkel registreringsprocess för användare. Dina användare kan använda sitt Google-konto för att registrera sig på din webbplats. De behöver inte fylla i ditt registreringsformulär, aktivera deras konto via e-post etc.

I den här artikeln studerar vi hur du lägger till Google OAuth-inloggningsfunktionen på din webbplats.

Få dina uppgifter

För att komma igång med Googles inloggnings-API måste du först skapa ett projekt på Google och få dina referenser. Nedan följer stegen du bör utföra för att skapa Google-projektet.

  • Gå till Googles utvecklarkonsol.
  • Klicka på rullgardinsmenyn och skapa ett nytt projekt genom att klicka på (+) tecken. Alternativt kan du också välja det befintliga projektet.
  • Välj ditt projekt och klicka på ‘AKTIVERA APIS OCH TJÄNSTER’. Skriv ‘Google+’ i sökrutan och välj Google+ API. Aktivera det.
  • Återigen komma till din projektinstrumentpanel och välj Referenser från sidofältet.
  • Under fliken Referenser, klicka på rullgardinsmenyn Skapa referenser och välj OAuth-klient-id.
  • Välj webbapplikationen från applikationstyp. Ange webbadressen i de auktoriserade omdirigeringsadressernaYOUR_DOMAIN_URL/index.php
  • När du har sparat den får du dialogrutan tillsammans med ditt klient-ID och klienthemlighet. Kopiera dessa nycklar som vi behöver i nästa steg.

Du kanske märker webbadressen för omdirigering som vi ställer in i applikationen. I denna handledning hanterar vi återuppringningskod i index.php. Användarna kan använda andra filer för detta ändamål.

Installation av HybridAuth Library

HybridAuth är ett open-source socialt inloggnings-PHP-bibliotek. Med hjälp av detta bibliotek kan vi lägga till en social inloggning för en eller flera leverantörer som Google, Facebook, Twitter, etc.

Hur man lägger till Google OAuth-inloggning på webbplatsen med PHP

Låt oss installera HybridAuth-biblioteket med en kompositör. Skapa en composer.jsonfil i projektets rotmapp och lägg till koden nedan i den.

{
    "require": {
        "hybridauth/hybridauth": "~3.0"
    }
}

Öppna sedan terminalen i din projektkatalog och kör kommandot:

composer install

Skapa config.phpfilen och lägg till koden nedan i den för att konfigurera Google-inloggningen.

<?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 );

Se till att ersätta platshållarna med de faktiska värdena. I ovanstående kod passerade vi YOUR_DOMAIN_URL/index.phpsom ett återuppringningsvärde. Justera den här sökvägen enligt dina krav.

Lägg till Google OAuth-inloggning

Vi är alla inställda på våra konfigurationer och bra att gå vidare. Så, låt oss skapa filer index.phpoch logout.phpi din projektkatalog.

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() ;
}

Nu när du kör index.phpi webbläsaren kontrollerar vår kod först om användaren är autentiserad med ‘Google’ eller inte. Om inte, omdirigeras den till Googles inloggningssida. Användaren måste logga in med sitt Google-konto och sedan omdirigeras det till index.phpigen. När användaren väl kommer till inloggningssidan får vi användarprofil genom att använda metoden getUserProfile().

I logout.phpfilen behöver vi bara koppla bort Google-adaptern.

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() ;
}

Vi hoppas att du kan lära dig mer om Google OAuth-inloggning på en webbplats med PHP. Dela dina tankar i kommentarsektionen nedan.

relaterade artiklar

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer