2017-06-01 101 views
0

我已经使用Laravel编写了一个用于检查身份验证的API调用。我需要将该控制器移动到Lumen以用作微服务。流明的基本身份验证

这是我在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); 
    } 
} 

Lumen doc未提供如何进行此类验证。他们没有检查机关的功能是否正确。我怎么能在流明中做到这一点。这可能吗?

回答

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