2015-12-15 62 views
1

進行身份驗證使用jwt auth(https://github.com/tymondesigns/jwt-auth)設置laravel應用程序(v5.1)。從這個項目得到了一個樣板:https://github.com/francescomalatesta/laravel-api-boilerplate-jwt。這樣我就可以在將來驗證不同的應用程序。使用laravel 5.1和jwt

我的問題是,我試圖在同一個項目中創建一些受保護的頁面,但我目前無法阻止沒有cookie(未驗證)的用戶。爲了 「保護」 訪問我在$ routeMiddleware以下值(在Kernel.php):

'csrf' => \csd\Http\Middleware\VerifyCsrfToken::class, 
'auth' => \csd\Http\Middleware\Authenticate::class, 
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 
'guest' => \csd\Http\Middleware\RedirectIfAuthenticated::class, 
'jwt.refresh' => \Tymon\JWTAuth\Middleware\RefreshToken::class 

我也嘗試添加'jwt.auth'=> \ Tymon \ JWTAuth \中間件\ GetUserFromToken ::這個數組,但沒有改變。

如何在使用此jwt-auth時阻止用戶訪問我的頁面?

在此先感謝。

回答

3

要將其應用於所有路由,必須將其置於$middleware而不是Http內核的$routeMiddleware屬性(app/Http/Kernel.php)。

或者,在與$routeMiddleware一起使用時,必須在路徑定義中明確引用它;像這樣:

Route::group(['middleware'=>'jwt.auth'], function($router){ 
    $router->resource('protected-resource', 'SecretSauceController'); 
});