Auth :: try () работал отлично, но по какой-то причине сегодня он всегда возвращает false (я думаю, это потому, что я установил laravel авторизацию с использованием UI Auth). Как я могу решить эту проблему? Тот же код работает на хостинге, где я не вызывал UI Auth.
контроллер входа
public function login(Request $request)
{
$request->validate([
'email' => 'required|string|email',
'password' => 'required|string',
]);
if (config('recaptcha.enabled') && !$this->checkRecaptcha($request['recaptchaToken'], $request->ip())) {
return response()->json([
'message' => 'Captcha error'
], 401);
}
$credentials = request(['email', 'password']);
if(!Auth::attempt($credentials))
return response()->json([
'message' => 'Unauthorized'
], 401);
$user = $request->user();
$tokenResult = $user->createToken('Personal Access Token');
$token = $tokenResult->token;
if ($request->remember_me)
$token->expires_at = Carbon::now()->addWeeks(1);
$token->save();
return (['redirect' => redirect()->intended('/')->getTargetUrl()]);
}
ax ios
login(recaptchaToken) {
this.emailError = false;
this.passwordError = false;
let th = this;
axios.post('api/auth/login', {
email: this.email,
password: this.password,
recaptchaToken: recaptchaToken
})
.then((response) => {
if (response.data.redirect) {
th.login_error = false;
location.href = response.data.redirect;
}
})
.catch((error) => {
th.login_error = true;
});
},
auth. php
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
'hash' => false,
],
],