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.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow