2016-04-09 11 views
1
public function login($local=false,$data=[]) 
{ 

    $validator = Validator::make(($local)?$data:Request::all(), [ 
     'username' => 'required', 
     'password' => 'required', 
    ]); 

    if ($validator->fails()) { 
     return Response::json(array('status'=>'0','message'=>'Invalid parameters')); 
    } 

    if(Auth::attempt(($local)?$data:Request::all())) 
    { 
     //dd(Auth::user()); 
     return Response::json(array('status'=>'1','message'=>'User logged in successfully')); 
    } 
     return Response::json(array('status'=>'1','message'=>'User log in failed')); 

} 

これは正常にログインしていますが、認証されたユーザーの詳細にアクセスしようとするとnullを返します。Laravel 5.2 Auth :: attempt()が成功してもAuth :: attempt()が機能しない場合

if(!Auth::check()) 
{ 
    return Response::json(array('status'=>'0','message'=>'User not logged in')); 
} 

いずれかの提案があります。おかげ

+0

どのAPIを使用していますか?同じサーバーまたは他の場所からの要求を意味しますか? – Qazi

+0

@Qaziはい私はAPIコントローラを開発しようとしています、私は私のlocalhost上で実行しています。 –

+0

セッションドライバとしては何を使用しますか? – naneri

答えて

0

Auth::check()は、要求が同じサーバーから 例えば来た場合に動作します:ユーザーが認証されると、私の理解あたりとしてwww.laraapi.com

を、あなたには、いくつかのトークンベースの認証を行う必要があり、

username=>'testuser', 
password=>'123456987', 
'userSecrectToken'=>'asd88225asdaweqs8899eqweiou' 

を意味し、パスユーザーID /ユーザー名と要求タイプの秘密トークン

例:

'username'=>'testuser', 
'userSecrectToken'=>'asd88225asdaweqs8899eqweiou' 
'requestType'=>'getUserOrders', 
関連する問題