サーチ…
インストール
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