Ricerca…


Installazione

composer require laravel/socialite

Questa installazione presuppone che tu stia utilizzando Composer per gestire le tue dipendenze con Laravel, che è un ottimo modo per affrontarlo.

Configurazione

Nel tuo config\services.php puoi aggiungere il seguente codice

'facebook' => [
    'client_id' => 'your-facebook-app-id',
    'client_secret' => 'your-facebook-app-secret',
    'redirect' => 'http://your-callback-url',
],

Dovrai anche aggiungere il Provider al tuo config\app.php

Cerca la matrice 'providers' => [] e, alla fine, aggiungi quanto segue

'providers' => [
      ...
  
      Laravel\Socialite\SocialiteServiceProvider::class,
]

Una confezione è fornita anche con il pacchetto. Se vuoi farne un uso assicurati che l'array di aliases (anche nella tua config\app.php ) abbia il seguente codice

'aliases' => [
    ....
    'Socialite' => Laravel\Socialite\Facades\Socialite::class,
]

Uso di base - Facciata

return Socialite::driver('facebook')->redirect();

Questo reindirizzerà una richiesta in arrivo all'URL appropriato per essere autenticato. Un esempio di base sarebbe in un 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();
    }

}

assicurati che il tuo file app\Http\routes.php abbia un percorso per consentire una richiesta in arrivo qui.

Route::get('facebook', 'App\Http\Controllers\Auth\AuthenticationController@facebook');

Uso di base - Iniezione delle dipendenze

/**
 * LoginController constructor.
 * @param Socialite $socialite
 */
public function __construct(Socialite $socialite) {
    $this->socialite = $socialite;
}

All'interno del costruttore del tuo Controller, ora sei in grado di iniettare la classe Socialite che ti aiuterà a gestire i login con i social network. Questo sostituirà l'uso della facciata.

/**
 * Redirects the User to the Facebook page to get authorization.
 *
 * @return Response
 */
public function facebook() {
    return $this->socialite->driver('facebook')->redirect();
}

Socialite per API - Stateless

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

Ciò restituirà l'URL che il consumatore dell'API deve fornire all'utente finale per ottenere l'autorizzazione da Facebook.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow