2017-02-20 10 views
0

Laravel 5.4 (여권)를 사용하여 REST API를 개발 중입니다.암호 받기 Laravel 패스포트에 대한 http 요청이없는 그랜트 토큰

다른 HTTP 요청을하지 않고도 가입시 액세스 토큰을 가져 오길 원합니다. 나는 Laravel 문서를 철저히 읽었습니다. 액세스 토큰을 얻는 직접적인 방법은 없습니다. 같은 : -

$token = $user->getOathToken($user_id); 

여권 문서가이 같은 것을 제공하는 문서에 password grant token

에 대한이 :

$http = new GuzzleHttp\Client; 

    $response = $http->post('http://your-app.com/oauth/token', [ 
     'form_params' => [ 
      'grant_type' => 'refresh_token', 
      'refresh_token' => 'the-refresh-token', 
      'client_id' => 'client-id', 
      'client_secret' => 'client-secret', 
      'scope' => '', 
     ], 
    ]); 

return json_decode((string) $response->getBody(), true); 

나는 또 다른 HTTP 요청을하고 싶지 않다. 그것을 피할 수있는 방법이 있습니까?

답변

1

원하는 작업을 수행하는 데 사용할 수있는 방법이 없습니다. 당신은 /oauth/token 경로를 처리하는 컨트롤러의 방법입니다

\Laravel\Passport\Http\Controllers\[email protected] 

에 모습을 가질 수 있습니다. POST 요청으로하지 않고 필요한 매개 변수를 전달합니다.

+1

이 유형의 기능을 제공하는 것이 분명하지 않거나 여권 워크 플로에 대해 빠진 것이 있습니까? –

+1

실제로 여권은 타사 응용 프로그램을 위해 토큰을 생성하거나 (암호 부여를 사용하여) 제 1 자 응용 프로그램에 대한 로그인시 사용자가 토큰을 생성 할 수 있도록 설계되었습니다. 인증 베어러 헤더에서 CSRF 토큰을 사용할 수 있습니다. "로컬"요청의 경우 로컬로 제공되는 vuejs 프런트 엔드가 인증하는 방법입니다. – Joe