2017-02-17 3 views
2

Ich habe Passport mit Laravel 5.3 installiert und konfiguriert, um Personal Access Token zu verwenden. Ich sende Benutzernamen und Passwort an die Route "/ oauth/token" und erhalte ein Token. Bis hier ist alles in Ordnung.Laravel 5.3 mit Pass: Aktuellen Benutzer mit persönlichem Zugriff Token erhalten

Aber wenn ich den aktuellen angemeldeten Benutzer mit $user = Auth::user(); bekommen möchte, wie wir es früher bekommen haben, bekomme ich null Wert als Laravel halten keine Sitzung für API Token. Wie kann ich den aktuellen Benutzer in dieser Situation erhalten? Kann ich eine Datei ändern, um den aktuellen Benutzer zusammen mit dem Token zu erhalten?

Dank im Voraus Arif

Antwort

1

Zunächst einmal bin ich mit Passport mit password_clients in einem OAuth2 fließen. Mein Lumen/Laravel Version Komponist ist 5.4 *

ich die folgende Aussage in meiner Lumen Anwendung bin mit (beachten Sie, ich bin mit Fassaden nicht.):

$user = app('auth')->guard()->user()

Dies ist wahrscheinlich gleichwertig die Fassade Aufruf:

$user = Auth::guard()->user()

this helps ..

Art rega rds,

PS. Meine IDE (Webstorm) kann Facede-Anrufe nicht erweitern, die App-Aufrufe ('auth') bleiben übrig. Um herauszufinden, welche Klasse zurückgegeben wird, finde ich es zB. ein echo get_class(app('auth')) die Klasse zu erhalten und meine IDE sagen, welche Art von Variable $auth ist ..

Snippet von einem meiner Lumen Controller

$auth = app('auth'); 
// echo get_class($auth); to get class 
// -> \Illuminate\Auth\AuthManager in this case 
/* @var $auth \Illuminate\Auth\AuthManager */ 

$guard = $auth->guard(); 
// idem as above 
/* @var $guard \Illuminate\Auth\RequestGuard */ 

$user = $guard->user(); 
/* @var $auth \App\Auth\User */ 

// this tells Webstorm/Netbeans/.. to consider $auth an instance of AuthManager and enables autocompletion of class methods 
Verwandte Themen