我正在为我的 Laravel 5.7 应用程序使用 jwt-auth。目前,我允许客户端输入电子邮件和密码作为用户凭据。
但是,我也想让客户输入他们的用户名来代替他们的电子邮件。所以他们有两个选择:电子邮件或用户名。
我怎样才能在我的代码中做到这一点?
我的 UserController@authenticate
public function authenticate(Request $request)
{
$credentials = $request->only('email', 'password');
try {
if (!$token = JWTAuth::attempt($credentials)) {
return response()->json([
'status' => 401,
'message' => 'invalid_credentials',
], 401);
}
} catch(JWTException $e) {
return response()->json([
'status' => 500,
'message' => 'token_creation_failed',
], 500);
}
return response()->json(compact('token'));
}
提前致谢