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.