✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak dodać logowanie Google OAuth do witryny za pomocą PHP

289

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 URLYOUR_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.

Jak dodać logowanie Google OAuth do witryny za pomocą PHP

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 install

Utwó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

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów