Zoeken…


Installatie

composer require laravel/socialite

Bij deze installatie wordt ervan uitgegaan dat u Composer gebruikt voor het beheren van uw afhankelijkheden met Laravel, wat een geweldige manier is om ermee om te gaan.

Configuratie

In uw config\services.php kunt u de volgende code toevoegen

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

U moet de Provider ook toevoegen aan uw config\app.php

Zoek naar 'providers' => [] array en voeg aan het einde het volgende toe

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

Een gevel wordt ook meegeleverd met het pakket. Als je er gebruik van wilt maken, zorg er dan voor dat de aliases array (ook in je config\app.php ) de volgende code heeft

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

Basisgebruik - Gevel

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

Hiermee wordt een inkomend verzoek omgeleid naar de juiste te authenticeren URL. Een eenvoudig voorbeeld zou in een controller zijn

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

}

zorg ervoor dat uw app\Http\routes.php een route heeft om een inkomend verzoek hier toe te staan.

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

Basisgebruik - afhankelijkheidsinjectie

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

Binnen de constructor van uw controller, kunt u nu de Socialite klasse injecteren die u zal helpen omgaan met inloggen met sociale netwerken. Dit vervangt het gebruik van de gevel.

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

Socialite voor API - staatloos

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

Dit retourneert de URL die de consument van de API aan de eindgebruiker moet verstrekken om autorisatie van Facebook te krijgen.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow