게시 요청에 전달 된 api_token을 사용하여 사용자를 인증하는 데 토큰 가드를 사용하고 있습니다. 하지만 토큰 가드 가드를 사용하여 api_token을 검색 할 수 없습니다. 내가 retrieveByCredentials($credentials)
에서 사용자를 얻고 EloquentUserProvider.php
에있는 validateCredentials($user, $credentials)
을 사용하여 비밀번호를 확인했지만 액세스하려면 Auth::guard('api')->provider
제공자가 보호 속성 인 곳을 사용해야합니다. 그래서 저는 그것을 수동으로해야합니다. 로그인이 구현 될 때 api_token을 가져 오는 간단한 절차가 있습니까?사용자가 laravel 5.2에 로그인 할 때 api_token을 얻는 방법
AuthController.php
public function api_login(Request $request)
{
$validator = Validator::make($request->all(), ['email' => 'required', 'password' => 'required']);
$credentials = $this->getCredentials($request);
$user = Auth::guard('api')->provider->retrieveByCredentials($credentials);
if(is_null($user)) {
return response()->json([
'error' => [
'message' => 'Your email is not registered yet',
'status_code' => 40
]
]);
} elseif(Auth::guard('api')->provider->validateCredentials($user, $credentials)) {
return response()->json([
'success' => [
'api_token' => Auth::guard('api')->user()->api_token,
'message' => 'Login successful',
'status_code' => 200
]
]);
}
return response()->json([
'error' => [
'message' => 'Login failed',
'status_code' => 20
]
]);
}
주에 내 로그인 방법 : 나는 제공자를 사용하지만, 나는 그것을 보호 속성입니다 같은 것을 사용할 수 없습니다.