Поиск…
Монтаж
composer require laravel/socialite
Эта установка предполагает, что вы используете Composer для управления вашими зависимостями с Laravel, что является отличным способом борьбы с ним.
конфигурация
В вашем config\services.php
вы можете добавить следующий код
'facebook' => [
'client_id' => 'your-facebook-app-id',
'client_secret' => 'your-facebook-app-secret',
'redirect' => 'http://your-callback-url',
],
Вам также необходимо добавить поставщика в config\app.php
Найдите массив 'providers' => []
и, в конце этого, добавьте следующее
'providers' => [
...
Laravel\Socialite\SocialiteServiceProvider::class,
]
Фасад также снабжен пакетом. Если вы хотите использовать его, убедитесь, что массив aliases
(также в вашем config\app.php
) имеет следующий код
'aliases' => [
....
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
]
Основное использование - фасад
return Socialite::driver('facebook')->redirect();
Это перенаправит входящий запрос на соответствующий URL-адрес для аутентификации. Основным примером может служить контроллер
<?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();
}
}
убедитесь, что ваш файл app\Http\routes.php
имеет маршрут, чтобы разрешить входящий запрос здесь.
Route::get('facebook', 'App\Http\Controllers\Auth\AuthenticationController@facebook');
Основное использование - инъекция зависимостей
/**
* LoginController constructor.
* @param Socialite $socialite
*/
public function __construct(Socialite $socialite) {
$this->socialite = $socialite;
}
Внутри конструктора вашего контроллера теперь вы можете ввести класс Socialite
, который поможет вам обрабатывать логин в социальных сетях. Это заменит использование фасада.
/**
* Redirects the User to the Facebook page to get authorization.
*
* @return Response
*/
public function facebook() {
return $this->socialite->driver('facebook')->redirect();
}
Socialite для API - безгражданство
public function facebook() {
return $this->socialite->driver('facebook')->stateless()->redirect()->getTargetUrl();
}
Это вернет URL-адрес, который потребитель API должен предоставить конечному пользователю, чтобы получить авторизацию от Facebook.