2017-07-30 1 views
0

Ich habe eine API für die Anmeldung erstellt und registriere mich mit dem Passpaket in Laravel. Wenn ich die Login-URL in Postman anrufe, gibt es key_token, refresh token und expired_date zurück. Aber ich möchte auch die autorisierten Benutzerinformationen in JSON (zB den Benutzernamen und Pass und E-Mail) zurückgeben.Laravel Rest API gibt Benutzerobjekt in der Postanforderung zurück

Ich brauche das, weil das Handy-Team meine Web-App integrieren will. Login-Controller-Methode:

public function login(Request $request) 
    { 
     $this->validate($request,[ 
      'username'=>'required', 
      'password'=>'required' 
     ]); 

     $params = [ 
      'grant_type'=>'password', 
      'client_id'=>$this->client->id, 
      'client_secret'=>$this->client->secret, 
      'username'=>request('username'), 
      'password'=>request('password'), 
      'scope'=>'*' 
     ]; 
     $request->request->add($params); 
     $proxy=Request::create('oauth/token','POST'); 


     return Route::dispatch($proxy); 
} 
+0

[Create Rest API mit Authentifizierung] (https://www.cloudways.com/blog/lumen-rest-api-authentication/). Dies könnte Ihnen helfen. –

+1

thuk es klingt wie eine große ressource ^^ @SaquibLari – Nasr

Antwort

0

Meiner Meinung nach ist der beste Weg zu gehen, ist eine andere URI zu erstellen, die den authentifizierten Benutzer zurückgibt. Auf diese Weise meldet sich der Client an und führt dann eine GET-Anforderung aus, um den authentifizierten Benutzer abzurufen. Ich möchte diesen URI einfach auf /user setzen. Laravel Seite, Sie müssen nur diese eine Route wie schaffen:

Route::get('/user', function (Request $request) { 
    return $request->user(); 
})->middleware('auth:api'); 

By the way, das ist, wie die GitHub API funktioniert.

Hoffe, dass hilft.

+0

thuk es hat mir geholfen, ja es ist immer besser, dem Benutzer eine eigene Route @louisfischer :) zu geben – Nasr

Verwandte Themen