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.