2017-07-15 23 views
0

Laravel PassportをセットアップしていくつかのGetルートを作成して、うまくいきました。Laravel Passport postmanのポストルートテスト

は今、私は現在動作しません。これは、認証トークンに取得するために投稿しようとしています:

これは私が(ポストルートが動作しない、ルートの作品を入手)を呼び出して、私のルートです:

Route::group(['middleware' => 'auth:api'], function() 
{; 
    Route::get('users', ['as' => 'users', 'uses' => '[email protected]']); 
    Route::post('login/{id}/{name}', ['as' => 'login', 'uses' => '[email protected]']); 
}); 

私ApiControllerのメソッドは、現在、次のようになります。

public function login(Request $request, $id, $name) 
{ 
    if($request->isMethod('post')) 
    { 
     $id = $request->id; 
     $name = $request->name; 

     $inquiry = new Inquiry(); 
     $inquiry->user_id = $id; 
     $inquiry->user_name = $name; 

     if($inquiry->save()) 
     { 
      return redirect()->route('inquiry.index')->with('success', 'Success.'); 
     } 
     else 
     { 
      return redirect()->route('inquiry.index')->with('error', 'An error accured.')->withInput(); 
     } 
    } 
    else 
    { 
     dd("Use Post."); 
    } 
} 

私は、次のオプションenter image description hereでそれを呼び出そうとしました:

編集

私は何とか何時間後にこの仕事を得ることに成功し、まだ何かを理解しません。

最初に私は次のようでした:私は、コードパラメータのトークンを得ることができ

それと
public function callback(Request $request) 
{ 
    dd($request->code) // this holds a token I need for the code parameter in the post 
... 

が、私はそれを行うには良い方法があると思います。

そして最後に、これは、私がアクセス+リフレッシュトークンを取得する方法今です:

enter image description here

をしかし、コールバック要求($要求 - >コードのコード・トークンを取得するためのより良い方法がなければなりません)、それをダンプしてコピーする代わりに。

+0

セッションやストアでデータベースに保存することができます –

答えて

0

問題は、auth:apiを持つルートグループ内にログインルートがあることです。これは、ユーザーが認証される必要があることを意味します。グループ外のログインルートを削除するだけで大​​丈夫です。

0

AuthServiceProviderのブート方法でPassport::routesメソッドを呼び出す必要があります。

public function boot() 
{ 
    $this->registerPolicies(); 
    Passport::routes(); 
} 

/oauth/authorizeルートがすでにPassport::routes法によって定義されます。このメソッドは、アクセストークンを発行し、アクセストークン、クライアント、および個人的なアクセストークンを取り消すために必要なルートを登録します。このルートを手動で定義する必要はありません。

+0

完全なルートはどのように見えるのですか、現在私はバレーを実行していますので、私のURLは次のようになります:http:// 79f123saf.ngrok.io'このURLを試しました:http:// 79f123saf.ngrok.io/api/oauth/authorize'と私は上記の私の質問に投稿したオプションで、この1つは 'http:// 79f123saf.ngrok.io/oauth/authorize'ですが、私は'/ oauth/authorize'の' TokenMismatchException'エラーメッセージと '/ api/oauth/authorize'の' NotFoundHttpException'を取得します。私はAuthServiceProviderの中に正しいブートメソッドを持っています – utdev

関連する問題