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

Logowanie społecznościowe w PHP przy użyciu biblioteki HybridAuth

22

Integracja funkcji logowania społecznościowego w serwisie to obecnie trend. Ta funkcja ułatwia proces logowania i rejestracji użytkownika. Jeśli użytkownik jest gotowy do korzystania ze swojego profilu społecznościowego w Twojej witrynie, nie musi wypełniać formularza rejestracyjnego, aktywuj swoje konto.

Serwisy społecznościowe nie udostępniają również prywatnych informacji użytkownika serwisu. Zamiast tego dostarczają tylko podstawowe informacje, takie jak imię i nazwisko, płeć, identyfikator społecznościowy (w określonej witrynie społecznościowej), e-mail. Aplikacja internetowa może poprosić o więcej szczegółów użytkownika. Ale użytkownik musi dać dostęp do dodatkowych informacji. To całkowicie zależy od tego, czy użytkownik da dostęp do większej ilości informacji, czy nie. Niektóre serwisy społecznościowe, takie jak Twitter, nie udostępniają adresu e-mail użytkownika. Chodzi o to, że korzystanie z profilu w serwisie społecznościowym do interakcji z witryną jest bezpieczne.

Logowanie społecznościowe w PHP przy użyciu biblioteki HybridAuth

Dla programisty napisanie kodu do logowania społecznościowego nie jest łatwe. Najpierw muszą przeczytać dokumentację dostarczoną przez serwisy społecznościowe, takie jak Facebook, Twitter. Każda witryna społecznościowa ma własną bibliotekę i własny sposób na integrację funkcji logowania społecznościowego.

Na przykład chcesz dodać login społecznościowy za pomocą Facebooka i Twittera. W takim przypadku programista musi napisać inny kod dla obu serwisów społecznościowych, zgodnie z ich oficjalną dokumentacją.

Deweloperowi nie jest łatwo opracować kod, jeśli masz więcej niż jedną witrynę społecznościową, z którą można wchodzić w interakcję.

Dzięki HybridAuth – open source’owemu znakowi społecznościowemu na bibliotece PHP. Zespół HybridAuth ułatwia życie naszym programistom.

Korzystając z tej biblioteki, nie musimy czytać o dokumentacji serwisów społecznościowych, jak zintegrować logowanie społecznościowe w witrynie. To, co wszyscy musimy zrobić, to poprawnie zainstalować i skonfigurować bibliotekę HybridAuth oraz zarejestrować aplikację w serwisach społecznościowych (co jest konieczne, nawet jeśli nie korzystamy z HybridAuth Library).

Instalacja

Aby zainstalować bibliotekę HybridAuth, zalecane jest użycie kompozytora. Jeśli nie masz zainstalowanego kompozytora w swoim systemie, możesz go pobrać z ich oficjalnej strony internetowej.

Utwórz plik composer.json w katalogu głównym projektu i umieść w nim poniższy kod.

{
    "require": {
        "hybridauth/hybridauth": "2.9.6"
    }
}

Przeszliśmy „2.9.6", ponieważ w momencie pisania tego artykułu jest to najnowsza stabilna wersja biblioteki HybridAuth.

Otwórz terminal w katalogu głównym projektu i uruchom polecenie composer install. Zainstaluje w systemie bibliotekę HybridAuth w wersji 2.9.6.

Konfiguracja

Upewnij się, że poprawnie konfigurujesz bibliotekę. Jeśli nie uda ci się go poprawnie skonfigurować, nie uzyskasz korzyści z biblioteki i popadniesz w frustrację.

Skopiuj 2 pliki config.php i index.php z katalogu vendorhybridauthhybridauthhybridauth i umieść je w katalogu głównym projektu. Zmień nazwę pliku index.php na hybridauth.php, ponieważ możemy mieć inny index.php w tej samej lokalizacji.

Otwórz plik config.php i dodaj klucze aplikacji oraz klucz tajny w tablicy powiązanych dostawców.

Kliknij tutaj, aby uzyskać listę wszystkich dostawców usług społecznościowych obsługiwanych przez HybridAuth. Dostawców i dodatkowych dostawców znajdujemy również w samej zainstalowanej bibliotece. Aby zobaczyć dostawców, przejdź do vendorhybridauthhybridauthhybridauthHybridProviders, a dla dodatkowych dostawców sprawdź katalog vendorhybridauthhybridauthadditional-providers.

Powiedzmy, że musimy określić szczegóły aplikacji Facebooka. W tym celu w config.php dla dostawcy Facebooka nasz kod wygląda następująco.

return array(
    "base_url" => "YOUR_SITE_URL/hybridauth.php",
    "providers" => array(
        //other providers code
        "Facebook" => array(
            "enabled" => true,
            "keys" => array("id" => "YOUR_APP_ID", "secret" => "YOUR_APP_SECRET"),
            "trustForwarded" => false,
        ),
        //other providers code
    ),
);

Upewnij się, że zastąpiłeś symbole zastępcze YOUR_APP_ID i YOUR_APP_SECRET rzeczywistymi wartościami.

Przekazaliśmy również ścieżkę pliku hybridauth.php dla base_url.

Następnie otwórz plik hybridauth.php i wprowadź następujące zmiany.

Zastąpić

require_once( "Hybrid/Auth.php" );
require_once( "Hybrid/Endpoint.php" );
 
Hybrid_Endpoint::process();

Z

require 'vendor/autoload.php';
 
Hybrid_Endpoint::process();

Rzeczywisty kod logowania społecznościowego przy użyciu biblioteki HybridAuth

Na tym etapie zakończyliśmy instalację i konfigurację biblioteki. Następnie musimy napisać rzeczywisty kod logowania społecznościowego.

Powiedzmy, że potrzebujemy logowania społecznościowego na Facebooku, a nasz kod będzie taki jak poniżej. Zakładamy, że masz login.php w folderze głównym, w którym musisz napisać kod.

logowanie.php

require 'vendor/autoload.php';
 
try {
    $hybridauth = new Hybrid_Auth( 'config.php' );
 
    $adapter = $hybridauth->authenticate( "Facebook" ); //it can be Twitter, Google etc.
 
    $user_profile = $adapter->getUserProfile();
} catch(Exception $e){
    echo 'Oops, we ran into an issue! '. $e->getMessage();
}

Parametr przekazany do metody authentication() musi być zgodny z kluczem dostawcy w pliku config.php. Funkcja authentication() sprawdza, czy użytkownik jest uwierzytelniony. Jeśli użytkownik nie jest uwierzytelniony, przekierowuje do strony logowania powiązanej witryny społecznościowej. Po pomyślnym uwierzytelnieniu użytkownik ponownie przekierowuje do naszego pliku sign-in.php.

W następnym wierszu pobieramy dane uwierzytelnionego użytkownika za pomocą funkcji getUserProfile().

Aby wylogować użytkownika dołączonego do dostawcy wystarczy wpisać poniższy kod w naszym pliku logout.php.

wyloguj.php

require 'vendor/autoload.php';
 
Hybrid_Auth::logoutAllProviders();

Mamy nadzieję, że rozumiesz, jak dodać skryptowy login społecznościowy w PHP za pomocą biblioteki HybridAuth. Jeśli masz jakieś pytania lub sugestie, zostaw komentarz poniżej. Możesz również przeczytać nasz artykuł System logowania społecznościowego przy użyciu Laravel Socialite.

Ź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