1

ソーシャル(Google)ログインシステムを使用してユーザーをシステムに認証するREST APIを作成します。私は社会的な認証 ためlaravelのauthおよび社交界を使用していますlaravelでsocialiteとパスポートを使用してREST APIを作成する方法

ので、私のルートは、私がいたこのURLを

http://localhost:8000/api/hello?token=16Wf313JyO66cgXk6UstxsIzrf0hlt8tsP09i04UczkWysHWoveVcHGhUPz6YTdX

これをアクセスしようと、この

Route::group(['middleware'=>'auth:api'], function(){ 
    Route::get('hello','[email protected]'); 
}); 

とIMのようなものです私にログインして表示することを期待するApiTestController index methord

しかし、私はログインページを表示しています。 この問題を解決し、APIトークンを使用してユーザーを認証するにはどうすればよいですか?ここ

UPDATE

ユーザーの移行config\auth.php

'guards' => [ 
     'web' => [ 
      'driver' => 'session', 
      'provider' => 'users', 
     ], 

     'api' => [ 
      'driver' => 'token', 
      'provider' => 'users', 
     ], 
     ] 

答えて

1

でテーブル

 $table->increments('id'); 
     $table->string('name')->unique(); 
     $table->string('first_name')->nullable(); 
     $table->string('last_name')->nullable(); 
     $table->string('email')->unique()->nullable(); 
     $table->string('password'); 
     $table->rememberToken(); 
     $table->boolean('activated')->default(false); 
     $table->string('token'); 
     $table->ipAddress('signup_ip_address')->nullable(); 
     $table->ipAddress('signup_confirmation_ip_address')->nullable(); 
     $table->ipAddress('signup_sm_ip_address')->nullable(); 
     $table->ipAddress('admin_ip_address')->nullable(); 
     $table->ipAddress('updated_ip_address')->nullable(); 
     $table->ipAddress('deleted_ip_address')->nullable(); 
     $table->timestamps(); 
     $table->softDeletes(); 

そして、認証設定の問題は、LaravelはこれがAPIコールであることを知らないということです、それはそのウェブ呼び出しだと思う。だから、あなたはあなたのヘッダーにapplication/jsonを追加する必要があり、この修正する:

Content-Type: application/json 

Accept: application/json 

をできるだけ早くあなたのヘッダーにjsonを追加し、電話をかけると、その後laravelはそれがAPIコールである知っているでしょう!あなたのAPIコントローラをロードするためです。

+0

この回答は非常に役に立ちました。今、私は期待どおりのログインを取得していません。 しかし、同時に正しいトークンを提供していても私は 'Unauthenticated'を表示しています 私のURLは次のようなものです ' http:// localhost:8000/api/hello'とヘッダ 'token:TOKENここでは コンテンツタイプ:アプリケーション/ json 受け入れる:アプリケーション/ json' 正しいトークン値を提供した後でも、同じ 'Unauthenticated' 任意の提案?? わかりやすさのためにユーザー移行テーブルを追加しています – user7747472

+0

ルートグループを使用していません。ルートグループは、デフォルトでlaravel 5.5と一緒に使用されています。 残りのapiを作成している場合は、デフォルトで 'api'という接頭辞が追加されます 認証システムの場合oAuth 2.0を使用しています 'https://github.com/jeremykenedy/laravel-auth'これは私のボイラープレートとして使用していますlaravel project – user7747472

+0

あなたはoauth 2.0を使用していますから、それは別の問題です。あなたの投稿ルートにルートグループが表示されているので、削除してみてください。もしそうなら、私の答えを完了したものとしてマークしてください! –

関連する問題