Я работаю над заявлением, которое опирается на Laravel Sanctum для входа в систему. Однако после развертывания и запуска приложения на сервере я столкнулся с проблемой, в которой после успешного входа он не перенаправляет на страницу панели панели. Вместо этого он перенаправляет на страницу с ** кодом состояния 302 ** и остается на странице входа в систему. Кроме того, я получаю электронное письмо с уведомлением меня о том, что я успешно вошел в систему. < /P>
Примечание. Код работает на локальном сервере без каких -либо проблем.Route::group(['prefix' => 'admin/auth'], function () {
route::post('/login',[AuthController::class,'login'])->name('api_login');
Route::get('/logout', [AuthController::class, 'logout'])->name('api_logout');
});
< /code>
Веб -маршруты: < /p>
Route::middleware('auth:sanctum')->prefix('admin')->group(function (){
Route::get('/overview', [OverviewController::class, 'index'])->name('overview');
Route::get('/orders', [OrdersController::class, 'index'])->name('orders');
});
< /code>
AuthController -> Функция входа в систему: < /p>
public function login(LoginRequest $request)
{
try {
$credentials = $request->only('email', 'password');
if (Auth::attempt($credentials)) {
$user = Auth::user();
if ($user->email_verified_at !== null) {
// Generate a Sanctum token for the user
$token = $user->createToken('auth-token')->plainTextToken;
$ipAdress = $request->ipinfo->ip;
//send login alert
Mail::to($request->email)->send(new LoginAlert([
"CustomerName" => showUserName(),
"IpAdress" => $ipAdress,
"Location" => $request->ipinfo->country_name . ', ' . $request->ipinfo->city,
"BrowserOs" => $request->header('User-Agent')
]));
return ApiResponse::sendResponse(200, 'Authorized successfully', ['token' => $token]);
}
return ApiResponse::sendResponse(401, 'Email has not been verified', null);
}
return ApiResponse::sendResponse(401, 'Unauthorized', null);
} catch (\Exception $th) {
return ApiResponse::sendResponse(401, $th->getMessage(), null);
}
}
< /code>
Функция входа в систему Axios < /p>
function login() {
document.getElementById("login-f").addEventListener("submit", function(event) {
event.preventDefault();
});
let crsf_token = document.querySelector('meta[name="CRSF"]').getAttribute("content");
axios.defaults.headers.common['X-CSRF-TOKEN'] = crsf_token;
const data = {
email: document.getElementById('email').value,
password: document.getElementById('password').value
};
axios
.post(`/api/admin/auth/login`, data, {
responseType: "json"
})
.then(function (response) {
if (response.status === 200 && response.data.msg === "Authorized successfully") {
setTimeout(function () {
window.location.href = "/admin/overview";
}, 2000);
}
}
})
.catch(function (error) {
// handle error
console.log(error);
});
}
< /code>
Я пытался изменить маршруты несколько раз, но без успеха! Я попытался прямого входа в систему, используя PHP, но столкнулся с той же проблемой! Я также попытался отправить информацию о заголовке: Принять: Приложение/JSON, тип контента: Application/json
Подробнее здесь: https://stackoverflow.com/questions/775 ... el-sanctum
Неожиданный 302 перенаправление после успеха входа в систему с использованием Sanctum Laravel Sanctum ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как отключить перенаправление Laravel Sanctum на страницу входа в систему
Anonymous » » в форуме Php - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как отключить перенаправление Laravel Sanctum на страницу входа в систему
Anonymous » » в форуме Php - 0 Ответы
- 0 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как отключить перенаправление Laravel Sanctum на страницу входа в систему
Anonymous » » в форуме Php - 0 Ответы
- 0 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Laravel — React Native: Sanctum получает 302 перенаправления на домашнюю страницу
Anonymous » » в форуме Php - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-