Ваша логика верна, но я никогда не видел способа доступа к переменным запроса, как вы упомянули:
request('email')
Пожалуйста, используйте следующий формат:
$request->input('email')
Так что ваш код долженбыть:
public function login(Request $request){
if(Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password'),
'account_status'=> $request->input('account_status')])){
$user = Auth::user();
$success['token'] = $user->createToken('MyApp')-> accessToken;
return response()->json(['success' => $success], $this-> successStatus);
}
else if(Auth::attempt(['phone' => $request->input('phone'), 'password' => $request->input('password'),
'account_status'=> $request->input('account_status')])){
$user = Auth::user();
$success['token'] = $user->createToken('MyApp')-> accessToken;
return response()->json(['success' => $success], $this-> successStatus);
}
else{
return response()->json(['error'=>'Unauthorised'], 401);
}
}
Надеюсь, это поможет