2017-07-30 85 views
0

我创建了一个用于登录并注册Laravel中的护照包的API。当我在Postman中调用登录URL时,它会返回key_tokenrefresh tokenexpired_date。 但我想也想在json中返回授权的用户信息(例如用户名,密码和电子邮件)。Laravel rest API在post请求中返回用户对象

我需要这个,因为手机团队想整合我的网络应用程序。 登录控制器方法:

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

[通过认证创建Rest api](https://www.cloudways.com/blog/lumen-rest-api-authentication/)。这可能会帮助你。 –

+1

这听起来像一个很好的资源^^ @SaquibLari – Nasr

回答

0

在我看来,去最好的办法是创建另一个URI返回经过验证的用户。通过这种方式,客户端登录,然后执行GET请求以获取经过身份验证的用户。我想简单地将此URI设置为/user。 Laravel的一面,你只需要创建一个像这样的路线:

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

顺便说一句,这是怎样的GitHub API作品。

希望有所帮助。

+0

thk你它帮了我,是它总是更好地给用户自己的路线@louisfischer :) – Nasr