Laravel 5.3에 대한 Laravel Passport 패키지를 공식 문서 (https://laravel.com/docs/5.3/passport#introduction)에 설명 된대로 설정했습니다.Laravel Passport "auth : api"미들웨어는 "웹, 인증"미들웨어의 역할을합니다.
모바일 응용 프로그램에서 API를 사용하려고하므로 암호 부여 토큰을 구현하려고합니다. 나는 예상대로 그냥 내 사용자 중 하나에 대한 액세스 토큰과 새로 고침 토큰을 반환 작품 암호 부여 클라이언트 및 토큰 요청 프로세스 ...
$response = $http->post('http://my-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'password',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'username' => '[email protected]',
'password' => 'my-password',
'scope' => '',
],
]);
을 ... 만든 . 한편으로
,php artisan route:list
목록 올바른 API/사용자 URI를위한 미들웨어 : API, 인증 : API를
및 API 가드 드라이버가 제대로 설정에서 여권로 설정 /auth.php. 요약하면 설치 프로세스의 모든 단계가 완료되었습니다 (https://laravel.com/docs/5.3/passport#installation). api.php의
기본 내용은 : 나는 http://my-app.com/api/user에 액세스 할 때 그것이 '웹'미들웨어가 아닌 'API'를 사용하여 요청을 인증하는 것 때문에
Route::get('/user', function (Request $request) {
return $request->user();
})->middleware('auth:api');
문제는 온다 ... 액세스 할 때 사용자가 로그인하지 않은 경우/login (로그인 양식)으로 리디렉션됩니다.이 경우 .../home에 있습니다.
도움이 될만한 정보가 있습니다. 미리 감사드립니다.
당신은 [여기] (https://laravel.com/docs/5.3/passport#consuming-your-api-with-javascript)까지 X-CSRF-TOKEN을 사용하여 자신의 API 엔드 포인트를 활용하고 있습니까? – dargue3
@ dargue3. 네, \ Laravel \ Passport \ Http \ Middleware \ CreateFreshApiToken :: class도 포함 시켰습니다. Kernel.php에서 아무 것도 변경되지 않았습니다. 하지만 실제로 JavaScript를 사용하여 자체 API를 사용하고 싶지 않습니다. 그것은 외부 모바일 응용 프로그램에서 그것을 소비하는 것입니다, 그리고 그 암호 부여 방법 메서드가 필요 ... 나는 여전히 문제가 있습니다. 다른 생각? – andcl