So, endlich beantworte ich meine eigene Frage. Hoffentlich hilft das jemandem, der sich dem ähnlichen Problem gegenübersieht.
JWT Authentifizierung kann mit 5,3 Pass Laravel erfolgen, nur die folgenden Schritte folgen:
OR folgenden Schritte in dieser Verbindung beschrieben:
- Komponist erfordern Laravel/Pass
- hinzufügen
Laravel\Passport\PassportServiceProvider::class,
Ihren App-Anbieter
- php Handwerker
- php Handwerker Pass migrieren: installieren
HasApiTokens
Eigenschaft zu Ihrem Benutzermodell
- Passport :: Routen() hinzufügen; in AppServiceProvider
- konfigurieren api Treiber Pass
Ist das erledigt, einen Usercontroller erstellen und die folgenden Methoden in es hinzuzufügen:
public function auth(Request $request)
{
$params = $request->only('email', 'password');
$username = $params['email'];
$password = $params['password'];
if(\Auth::attempt(['email' => $username, 'password' => $password])){
return \Auth::user()->createToken('my_user', []);
}
return response()->json(['error' => 'Invalid username or Password']);
}
public function index(Request $request)
{
return $request->user();
}
In Routen/api.php, fügen Sie die folgenden Routen:
Route::post('auth', '[email protected]');
Route::group(['middleware' => 'auth:api'], function(){
Route::resource('user', '[email protected]');
});
nun eine POST-Anforderung an http://localhost:8000/auth
mit der E-Mail-Adresse und das Passwort machen, wie im Screenshot gezeigt (http://pix.toile-libre.org/upload/original/1483094937.png) Diese erhalten Sie die accessToken, können Sie diese Token verwenden, um andere Anforderungen in der Anwendung mit dem Authorization
Header zu machen und Bearer XXX
xxx ist die accessToken Sie erhalten von /api/Auth Endpunkt.
Nun eine GET-Anfrage an /api/user
mit dem Header Authorization
und dem Token-Wert, dies wird die authentifizierten Benutzerdetails zurückgeben. (zB: http://pix.toile-libre.org/upload/original/1483095018.png)
Ich habe auch gepostet diese Schritte auf meinem Blog bei http://chatterjee.pw/larvel-passport-jwt-authentication/
Ich hoffe, das hilft!
Können wir benutzerdefinierte Token machen? nicht vom Objekt des Benutzers –
Vielen Dank für Ihre Freigabe, aber: 1. Es gibt keine refresh_token 2. Ich habe hier keine JWT Mitarbeiter gefunden, es ist nur access_token 3. Ich habe nicht verstanden, warum Sie so viele ausgegeben haben Zeit dafür ist es die "versuch()" Methode von "Auth" und "createToken()" Methode von "HasApiTokens" Merkmal –
Diese Token-Lösung ist ABSOLUT NICHT ein JWT und ist daher keine Antwort auf Ihre ursprüngliche Frage Diese Frage und Antwort ist irreführend für andere Menschen. Ich habe viel Zeit damit verbracht zu denken, dass dies eine JWT-Lösung ist, aufgrund der Fragen und Antworten hier. –