2017-06-01 22 views
0

私はLaravelを使用した小切手認証のAPI呼び出しを既に作成しています。そのコントローラをマイクロサービスとして使用するためにルーメンに移動する必要があります。ルーメンでの基本認証

これはLaravelのコントローラです。

public function byCredantial(Request $request) 
{ 
    $user = [ 
     'email' => $request->input('email'), 
     'password' => $request->input('password') 
    ]; 

    if (Auth::attempt($user)) { 
     $response = $this->getSuccess(Auth::user()->id); 

     return response()->json($response, 200); 
    } else { 
     $response = $this->getError($user); 

     return response()->json($response, 401); 
    } 
} 

ルーメン・ドックはこのような認証方法を提供していません。彼らはチェックcreadentialのために機能していませんが正しいです。どのように私はルーメンでこれを行うことができます。これは可能ですか?

答えて

0

ルーメンでこれを行うことができます。ファサードはデフォルトで無効になっています(有効にしたい場合はdocumentationの手順を参照してください)。ただし、ファサードをアプリケーションにオーバーヘッドとして追加することはお勧めしません。代わりに、app('auth')を呼び出すように関数を変更します。これは、Authファサードが他のすべてのファサードをロードせずにプロキシするクラスを返します。

public function byCredantial(Request $request) 
{ 
    $user = [ 
     'email' => $request->input('email'), 
     'password' => $request->input('password') 
    ]; 

    $auth = app('auth'); 

    if ($auth->attempt($user)) { 
     $response = $this->getSuccess($auth->user()->id); 

     return response()->json($response, 200); 
    } else { 
     $response = $this->getError($user); 

     return response()->json($response, 401); 
    } 
} 

また、私は認証documentationを読み、AuthServiceProviderでこのコードの大部分を置くことをお勧めします。