サーチ…


インストール

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();
}

APIのソーシャルサイト - ステートレス

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

これにより、Facebookの承認を得るためにAPIのコンシューマーがエンドユーザーに提供する必要があるURLが返されます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow