1

소셜 (Google) 로그인 시스템을 사용하여 사용자를 시스템에 인증하는 REST API를 만들고 싶습니다.laravel에서 socialite 및 여권으로 REST API를 만드는 방법

내가 사회 인증 에 대한 laravel의 인증 및 사교계 명사를 사용하고

그래서 내 노선은 내가했다 URL을

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

와이 액세스하려고이

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

그리고 메신저처럼 나를 로그인하고 보여줄 것으로 기대합니다. ApiTestController index methord

하지만 로그인 페이지가 표시됩니다. 이 문제를 해결하고 사용자가 API 토큰을 사용하여 인증하도록하려면 어떻게해야합니까?

UPDATE

사용자 마이그레이션 테이블

 $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(); 

그리고 config\auth.php

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

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

답변

1

여기에 문제가 Laravel이이 API를 호출 것을 알고하지 않는다는 것입니다에서 인증 구성 그것은 그 웹 전화라고 생각합니다. 그래서이 문제를 해결하려면 당신은 당신의 헤더에 application/json을 추가해야

즉시 당신이 당신의 헤더에 json를 추가하고 전화를 걸로
Content-Type: application/json 

Accept: application/json 

다음 laravel가이 API를 호출 알고 것이다! therfore 귀하의 API 컨트롤러를로드합니다.

+0

그 대답은 매우 도움이되었습니다. 이제는 예상대로 로그인하지 못했습니다. 그러나 올바른 토큰을 제공하더라도 인스턴트 메시지가'Unauthenticated '로 표시됩니다. 내 URL은 다음과 같습니다. http : // localhost : 8000/api/hello' 및 헤더 토큰 : TOKEN 여기 콘텐츠 유형 : application/json 수락 : application/json' 정확한 토큰 값을 제공 한 후에도 동일한 'Unauthenticated' 제안 사항 ?? 더 나은 이해를 위해 사용자 마이그레이션 테이블을 추가 중입니다. – user7747472

+0

기본적으로 laravel 5.5와 함께 제공되는 루트 그룹을 사용하고 있지 않습니다. 나머지 api를 만들 때 기본으로'api' 접두사를 추가합니다 인증 시스템의 경우 oAuth 2.0을 사용합니다 'https://github.com/jeremykenedy/laravel-auth'이것은 내 보일러 플레이트로 사용하고 있습니다. laravel project – user7747472

+0

u가 oauth 2.0을 사용하고 있기 때문에 u가 물어 보지 않은 다른 문제입니다. 흠, 게시 된 경로에 대한 그룹화 경로를 볼 수 있습니다. 따라서 제거하고 액세스 권한이 있는지 확인하십시오! 그렇다면 내 대답을 완료로 표시하십시오! –