Auth0,Laravel 5.4 - 再次登录注销用户后

时间:2017-09-04 21:03:41

标签: laravel laravel-5 laravel-5.4 auth0

我正在使用Auth0进行身份验证,并且登录正常工作,但是一旦我再次登录重定向用户后调用注销功能。这是我的路线档案:

<?php

Route::get('/auth0/callback', '\Auth0\Login\Auth0Controller@callback');

Route::group(['middleware' => ['auth']], function () {
    Route::get('/', 'SiteController@index');

    Route::get('/dashboard', 'DashboardController@index')->middleware('role');
    Route::get('/employees-status', 'ReviewStatusPhasesController@employeesStatus')->middleware('role');
    Route::get('/user-status/{id}', 'UserPhaseController@get')->middleware('role');

    Route::get('/request-update/{id}', 'UserController@requestUpdate');

    Route::post('/search', 'UserController@search')->middleware('role');
    Route::post('/change-status', 'UserPhaseController@changeStatus')->middleware('role');

    Route::get('/logout', function() {
        var_dump(Auth::check());
        Auth::logout();
        var_dump(Auth::check());
        die;
        return redirect('login');
    });
});


Route::get('/login', function () {
    return \App::make('auth0')->login();
})->name('login');

似乎 Auth :: logout(); 正常工作,因为第一个 var_dump 显示 true ,第二个显示 false (其余设置与文档https://auth0.com/docs/quickstart/webapp/laravel/01-login中的相同)。

如果我在注销后尝试加载页面,我会再次登录。有什么想法可能会出错吗?

1 个答案:

答案 0 :(得分:0)

尝试将路线更改为:     Route::get('auth/logout', 'Auth\AuthController@logout'); 或尝试在AuthController构造函数中添加

public function __construct()
{
    $this->middleware('guest', ['except' => ['logout', 'getLogout']]);
}

取自:https://stackoverflow.com/a/34667356/1275778(如果您之后仍有问题,请查看其他答案)