Поиск…


Монтаж

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.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow