Suche…


Installation

composer require laravel/socialite

Bei dieser Installation wird davon ausgegangen, dass Sie Composer zum Verwalten Ihrer Abhängigkeiten mit Laravel verwenden. Dies ist eine großartige Möglichkeit, damit umzugehen.

Aufbau

In Ihrer config\services.php können Sie den folgenden Code hinzufügen

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

Sie müssen den Provider auch zu Ihrer config\app.php

Suchen Sie nach 'providers' => [] und fügen Sie am Ende Folgendes hinzu:

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

Eine Fassade ist ebenfalls im Paket enthalten. Wenn Sie davon Gebrauch machen möchten, stellen Sie sicher, dass das aliases Array (auch in Ihrer config\app.php ) den folgenden Code enthält

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

Grundnutzung - Fassade

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

Dadurch wird eine eingehende Anfrage an die entsprechende URL umgeleitet, um authentifiziert zu werden. Ein grundlegendes Beispiel wäre ein 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();
    }

}

app\Http\routes.php sicher, dass Ihre app\Http\routes.php -Datei über eine Route verfügt, um hier eine eingehende Anfrage zuzulassen.

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

Grundnutzung - Abhängigkeitsinjektion

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

Im Konstruktor Ihres Controllers können Sie jetzt die Socialite Klasse Socialite , mit der Sie sich bei sozialen Netzwerken anmelden können. Dies ersetzt die Verwendung der Fassade.

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

Dadurch wird die URL, die der Benutzer der API angeben muss, an den Endbenutzer zurückgegeben, um eine Autorisierung von Facebook zu erhalten.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow