2017-04-06 4 views
1

現在のプロジェクトでPassportを使用すると、常に「Unauthenticated error」が表示されます。Laravel 5.3 + Passport:常に認証されていないエラー

  • (ドキュメントが言うように)パスポートをインストールして設定リクエストトークン(パスワード許可トークン)ポストマン
  • リクエスト保護ルート(認証:APIミドルウェア)を:それは私が3日間続くやったことですトークン付き
  • `{"エラー ":"認証されていません。 " } `
  • 検索し、検索し、研究
  • は ` { "エラー" をゲット: "非認証。" } `

次に、新しいL5.3と新しいDBをインストールして正常に動作しました。私の現在のDBでも!

私は誰も私を助けることができる私は成功せず、見つかったすべてのソリューション...

を試してみましたか?任意のアイデアをいただければ幸いです。

ありがとうございました。

答えて

1

私はあなたと同じ問題を抱えていましたが、どこでも解決策を見つけることができました。

私の場合、Apacheの障害が発生しているようです。 Apacheはヘッダー "Authorization:Bearer TOKEN_HERE"を削除していたので、auth:apiが期待どおりに動作しない(401が不正になりました)。

私たちは、.htaccessファイルに追加しようとしてしまった:

RewriteCond %{HTTP:Authorization} ^(.*) 

RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] 

そして、それは魔法のように働きました。

私が本当に助けてくれることを願って、私たちは一日中多くのソリューションを試してみました。これは私たちのために働いたものです。

+0

私とは連携していません – vietnguyen09

1

このトークンを生成するのにあなたはどちらを使用しましたか?

1を次のように

可能な解像度は、以下のとおりです。あなたのaccess_tokenはを生成し、クライアントの資格情報を使用している場合は、次のように、あなたは、client_credentialsをオンにするミドルウェアを持っています。

1.1は\ AppでrouteMiddleware \のHttp \ Kernel.php

'client_credentials'  => \Laravel\Passport\Http\Middleware\CheckClientCredentials::class, 

1.2あまりにもあなたのルートで利用 'client_credentials' ミドルウェアに追加します。

Route::group(['prefix' => 'v1','middleware' => 'client_credentials'], function() { 

    // Your routes here 

}); 

2:グラントの種類のパスワード

2.1の場合:グラントクライアント

PHPの職人のパスポートパスワードを作成します。クライアントは を--password。2:以下のヘッダフィールド

'grant_type' => 'password', 
    'client_id' => 'client-id', 
    'client_secret' => 'client-secret', 
    'username' => '[email protected]', 
    'password' => 'my-password', 

エンドポイント/ OAuthのトーク​​ン/

でトークンをリクエストあなたが今得るトークンがあなたのAPIへのアクセス権を与える必要があります。

関連する問題