2017-04-17 61 views
0

我最近關注如何在演示應用程序(博客)中正確安裝和設置Laravel Passport的官方文檔。TokenMismatchException在護照中刷新令牌時laravel

我的路由設置以下these說明:

接下來,你應該將AuthServiceProvider的引導 方法中調用護照::途徑方法。此方法將註冊需要發出訪問令牌和撤消訪問令牌, 客戶和個人訪問令牌的 路線:

在使用郵差來運行我注意到,的OAuth /標記/刷新一些樣本請求路由需要CSRF令牌。

運行工匠路線:名單我:

|  | POST  | oauth/token        |     | \Laravel\Passport\Http\Controllers\[email protected]  | throttle  | 
|  | POST  | oauth/token/refresh      |     | \Laravel\Passport\Http\Controllers\[email protected]  | web,auth  | 

如何正確刷新令牌任何想法?

+0

你有刷新路由設置爲當它不應該使用'網絡'中間件。 – jfadich

+0

我使用'Passport :: routes'註冊路由,如文檔中所述。這是一個錯誤? –

+0

這不是一個錯誤。你在哪裏叫'Passport :: routes()'?它應該在'routes \ api.php'而不是'routes \ web.php' – jfadich

回答

1

CSRF可以期望的URI-S被禁用如https://laravel.com/docs/5.3/csrf所述。舉個例子,我在VerifyCsrfToken類增加一個值作爲URL路徑$除了物業:

protected $except = [ 
    'oauth/authorize', 
]; 

和它的作品。

-2

,我所做的最後一次是從kernel.php禁用CSRF,我真的不知道這是不是最好的做法,但我註釋掉:

App\Http\Middleware\VerifyCsrfToken::class 
+0

這是不推薦的,因爲它會讓你的應用程序容易受到csrf(等等)攻擊 – erwan