javascript - 在 laravel 中使用 auth()->login() 方法时如何防止重定向?

标签 javascript laravel laravel-socialite

我正在尝试使用 Laravel socialte 插件使用弹出窗口登录用户。因此,在回调期间我使用脚本来调用父窗口函数。但是,它从未被调用,因为 auth()->login() 函数在调用后立即重定向到主页。如何停止这种重定向?

public function handleProviderCallback($provider)
{
    $user = $this->createOrGetUser($provider);
    echo "<script>
    var Parent = window.opener;</script>";
    if(auth()->login($user)) {
        $tempuser = json_encode($user);
        $script = "<script>Parent.oauthSuccess(true,'$tempuser');</script>";
    } else {
        $script = "<script>Parent.oauthSuccess(false);</script>";
    }
    return $script;
    // $user->token;
}

最佳答案

您可以手动登录用户:

public function authenticate(Request $request)
{
    $credentials = $request->only('email', 'password');

    if (Auth::attempt($credentials)) {
        // Authentication passed...do something
    }
}

文档:https://laravel.com/docs/5.7/authentication#authenticating-users

关于javascript - 在 laravel 中使用 auth()->login() 方法时如何防止重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54568692/

相关文章:

javascript - 具有相同 JS 文件和相同类的多个模态

javascript - 未捕获的语法错误 : The requested module './add.js' does not provide an export named 'add'

Laravel 护照 : Authenticate api requests based on access token issued by another microservice

Laravel 7 Socialite Google 登录显示 Invalid Grant 错误

Laravel Socialite 无法在实时服务器上运行,只能在本地计算机上运行

php - 使用 javascript 和/或 php 生成 pdf 的更好方法是什么?

javascript - 使用非常非常大的位标志(除了内存)有什么缺点吗?

php - Laravel Docker - SQLSTATE[HY000] [2002] php_network_getaddresses : getaddrinfo failed: Name or service not known

php - Laravel 5 全文搜索

php - Laravel Socialite(谷歌)错误 : ClientException in Middleware. php 第 69 行;错误 403