Laravel 문서는 "사용자 자신의 API 사용"에 대해 분명히 명확하지 않습니다. 나는 또한 며칠 동안 인터넷 검색을하고 심지어 라라 캐스트에 구독했다. 도움이 안된다. 나는 지금 일하고있어, 이것은 내 노트에서 덤프이다.
1 단계 - 설치 여권
composer require laravel/passport
php artisan migrate
php artisan passport:install
2 단계 - /app/User.php을 편집
use HasApiTokens,Notifiable
3 단계 -
use Laravel\Passport\Passport;
public function boot()
{
$this->registerPolicies();
Passport::routes();
}
/app/Providers/AuthServiceProvider.php을 편집
4 단계 - /config/auth.php 편집
enter code 'api' => [
'driver' => 'passport',
'provider' => 'users',
],
5 단계 - 프론트 엔드는 빠른
php artisan vendor:publish --tag=passport-components
6 단계 - 인증 경로와 뷰
php artisan make:auth
비계 - 편집
require('./bootstrap');
window.Vue = require('vue');
Vue.component(
'passport-clients',
require('./components/passport/Clients.vue')
);
Vue.component(
'passport-authorized-clients',
require('./components/passport/AuthorizedClients.vue')
);
Vue.component(
'passport-personal-access-tokens',
require('./components/passport/PersonalAccessTokens.vue')
);
const app = new Vue({
el: '#app'
});
7 단계 /resources/assets/js/app.js
8 단계 - /app/Http/Kernel.php 편집
protected $middlewareGroups = [
'web' => [
...
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
9 단계 - 편집 /routes/web.php (이 귀하의 질문에 대한 대답)
// Authorization routes Laravel Passport
Auth::routes();
// Landing page
Route::get('/', function() { return view('welcome');});
// Auth protected routes
Route::group(['middleware' => ['web', 'auth']], function() {
Route::get('home', '[email protected]')->name('home');
Route::get('example', function(){ return view('example'); });
}
//(stolen from /vendor/laravel/passport/src/RouteRegistrar.php - forAuthorization method)
10 단계 - 아무것도 - 자산
npm i -g npm
npm install
npm run dev
11 단계를 컴파일합니다. VueJS와 Axios 쪽에서는 아무 것도 할 필요가 없습니다.
당신은 할 수 있습니다 :
axios.get('URL_XYZ')
.then(response => {
console.log(response.data);
});
Laravel 워드 프로세서 :
인증이 방법을 사용하여, 기본 Laravel 자바 스크립트 비계는 항상 X-CSRF 토큰 및 X를 보낼 Axios의 지시를 - 요청 됨 - 헤더가 있습니다.
출처 :
https://laravel.com/docs/5.5/passport
https://www.itechempires.com/2017/09/laravel-5-5-api-user-authentication-passport-package/