注销 Laravel 后无法登录

时间:2021-06-01 16:51:59

标签: javascript ajax laravel

我开发了一个带有 javascript(无需重新加载)的动态页面,用户可以在其中插入私人号码。

然后我发送一个 Ajax 请求以手动登录与该号码关联的用户。

此后,如果用户愿意,他可以退出(发送 Ajax 请求以注销)并且主页出现再次登录。


重现步骤:

  1. 输入号码,点击登录,我验证第一次登录是否有效。
  2. 点击退出,注销成功
  3. 插入相同或不同的号码,然后再次点击登录,现在用户未通过身份验证。

注意:如果我在退出(注销)后刷新页面,则第二次登录有效。


-> 发送 Ajax 请求以 verifyNIF() 的代码

$('#start').on('click', function() {

   
    $.ajax({
        url: '/' + slug + '/vote-in-person/verify-nif',
        type: "POST",
        data: {
            nif: nif
        },
        dataType: "json",
        success: function (data) {
            //NIF VERIFIED AND USER LOGGED IN
        }
    });

});


-> verifyNIF() 验证数据库上的数字,然后验证用户

Auth::login($user);


-> logout() 函数,使用 Laravel Fortify 注销路由。

function logout(){
    $.ajax({
        url: '/logout',
        type: "POST",
        success: function () {
            console.log("logged out");
            // location.reload();
        },
        error: function (data) {
            console.log(data);
        }
    })
}

1 个答案:

答案 0 :(得分:1)

在前端,通过ajax请求注销后CSRF令牌失效。您可以添加新端点以手动刷新 CSRF 令牌。我认为这对你有帮助。 https://stackoverflow.com/a/57252273/9215587