Szukaj…


Instalacja

composer require laravel/socialite

Ta instalacja zakłada, że używasz Composer do zarządzania swoimi zależnościami z Laravelem, co jest świetnym sposobem radzenia sobie z tym.

Konfiguracja

W config\services.php możesz dodać następujący kod

'facebook' => [
    'client_id' => 'your-facebook-app-id',
    'client_secret' => 'your-facebook-app-secret',
    'redirect' => 'http://your-callback-url',
],

Musisz także dodać dostawcę do config\app.php

Poszukaj tablicy 'providers' => [] a na końcu dodaj następującą

'providers' => [
      ...
  
      Laravel\Socialite\SocialiteServiceProvider::class,
]

W pakiecie znajduje się również fasada. Jeśli chcesz z niego skorzystać, upewnij się, że tablica aliases (także w config\app.php ) ma następujący kod

'aliases' => [
    ....
    'Socialite' => Laravel\Socialite\Facades\Socialite::class,
]

Podstawowe użycie - fasada

return Socialite::driver('facebook')->redirect();

Spowoduje to przekierowanie przychodzącego żądania do odpowiedniego adresu URL do uwierzytelnienia. Podstawowym przykładem może być kontroler

<?php

namespace App\Http\Controllers\Auth;

use Socialite;

class AuthenticationController extends Controller {

    /**
     * Redirects the User to the Facebook page to get authorization.
     *
     * @return Response
     */
    public function facebook() {
        return Socialite::driver('facebook')->redirect();
    }

}

upewnij się, że plik app\Http\routes.php ma trasę umożliwiającą przyjęcie przychodzącego żądania tutaj.

Route::get('facebook', 'App\Http\Controllers\Auth\AuthenticationController@facebook');

Podstawowe użycie - wstrzykiwanie zależności

/**
 * LoginController constructor.
 * @param Socialite $socialite
 */
public function __construct(Socialite $socialite) {
    $this->socialite = $socialite;
}

W konstruktorze swojego kontrolera możesz teraz wstrzyknąć klasę Socialite , która pomoże ci obsługiwać logowanie w sieciach społecznościowych. Zastąpi to użycie fasady.

/**
 * Redirects the User to the Facebook page to get authorization.
 *
 * @return Response
 */
public function facebook() {
    return $this->socialite->driver('facebook')->redirect();
}

Socialite dla API - bezstanowy

public function facebook() {
    return $this->socialite->driver('facebook')->stateless()->redirect()->getTargetUrl();
}

Spowoduje to zwrócenie adresu URL, który konsument interfejsu API musi podać użytkownikowi końcowemu, aby uzyskać autoryzację z Facebooka.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow