У меня есть AuthController, где я регистрирую пользователя, а также захожу в систему. Когда пользователь зарегистрирован, я автоматически регистрируюсь, вызывая метод входа в систему. Метод login возвращает объект JSON, который выглядит следующим образом:
"meta": {
"headers": {},
"original": {
"success": true,
"token": "token is here"
},
"exception": null
}
Как извлечь токен из этого объекта JSON, полученного из $this->login($request)
? Потому что сейчас $ token возвращает Null.
public function login(Request $request)
{
$input = $request->only('email', 'password');
$token = null;
if (!$token = JWTAuth::attempt($input)) {
return response()->json([
'success' => false,
'message' => 'Invalid Email or Password',
], 401);
}
return response()->json([
'success' => true,
'token' => $token,
]);
}
public function register(RegistrationFormRequest $request)
{
$user = new User();
$user->user_name = $request->user_name;
$user->first_name = $request->first_name;
$user->last_name = $request->last_name;
$user->email = $request->email;
$user->password = bcrypt($request->password);
$user->role_id = 7;
$user->subscription_plan_id = 1;
$user->save();
$token = json_decode($this->login($request), TRUE)['token'];
return response()->json([
'success' => true,
'data' => $user,
'meta' => $token,
], 200);
}