Sök…
Installation
composer require laravel/socialite
Denna installation antar att du använder Composer för att hantera dina beroenden med Laravel, vilket är ett bra sätt att hantera det.
Konfiguration
I din config\services.php
du lägga till följande kod
'facebook' => [
'client_id' => 'your-facebook-app-id',
'client_secret' => 'your-facebook-app-secret',
'redirect' => 'http://your-callback-url',
],
Du måste också lägga till leverantören till din config\app.php
Leta efter 'providers' => []
matris och lägg till följande i slutet av det
'providers' => [
...
Laravel\Socialite\SocialiteServiceProvider::class,
]
En fasad tillhandahålls också med paketet. Om du vill använda det, se till att aliases
arrayen (även i din config\app.php
) har följande kod
'aliases' => [
....
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
]
Grundläggande användning - fasad
return Socialite::driver('facebook')->redirect();
Detta kommer att omdirigera en inkommande begäran till lämplig URL som ska autentiseras. Ett grundläggande exempel skulle vara i en controller
<?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();
}
}
se till att din app\Http\routes.php
fil har en rutt för att tillåta en inkommande begäran här.
Route::get('facebook', 'App\Http\Controllers\Auth\AuthenticationController@facebook');
Grundläggande användning - beroende injektion
/**
* LoginController constructor.
* @param Socialite $socialite
*/
public function __construct(Socialite $socialite) {
$this->socialite = $socialite;
}
Inom din Controllers konstruktör kan du nu injicera Socialite
klassen som hjälper dig att hantera inloggning med sociala nätverk. Detta kommer att ersätta användningen av fasaden.
/**
* Redirects the User to the Facebook page to get authorization.
*
* @return Response
*/
public function facebook() {
return $this->socialite->driver('facebook')->redirect();
}
Socialite för API - Stateless
public function facebook() {
return $this->socialite->driver('facebook')->stateless()->redirect()->getTargetUrl();
}
Detta returnerar URL: en som konsumenten av API måste tillhandahålla till slutanvändaren för att få godkännande från Facebook.