2017-04-17 2 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

「web」ミドルウェアを使用しないようにするためのリフレッシュルートが設定されています。 – jfadich

+0

ドキュメントに記載されているように、 'Passport :: routes'を使ってルートを登録しました。それはバグでしょうか? –

+0

これはバグではありません。 'Passport :: routes()'はどこで呼びましたか?それは 'routes \ web.php'ではなく' routes \ api.php'にあるべきです。 – jfadich

答えて

1

CSRFは希望URI-秒間無効にすることができます、https://laravel.com/docs/5.3/csrfに記載されています。

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

、それが動作します:たとえば、私はVerifyCsrfTokenクラスのプロパティを除き、$でURLパスとして一つの値を追加しました。

-2

がkernel.phpからCSRFを無効にすることでした、これはベストプラクティスである場合、私は本当に知らないが、私はコメントアウト:

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

これはあなたのアプリケーションをcsrf(他の攻撃の中でも)に脆弱にしておくので、お勧めしません – erwan

関連する問題