Open Fendo181 opened 6 years ago
調べてみると、Lumen専用のpassportがあるので、こちらを使って導入する。 逆にLaravel/passportの方はインストールができなかった。
#composerで導入する。
composer require dusterio/lumen-passport
# もしくはcomposer.jsonに以下のように追加する。
{
"require": {
"dusterio/lumen-passport": "^0.2.0"
}
}
今導入した、lumen-passport
を使えるようにする為、サービスプロバイダーに登録します。
// Enable Facades
$app->withFacades();
// Enable Eloquent
$app->withEloquent();
// Enable auth middleware (shipped with Lumen)
$app->routeMiddleware([
'auth' => App\Http\Middleware\Authenticate::class,
]);
// Finally register two service providers - original one and Lumen adapter
$app->register(Laravel\Passport\PassportServiceProvider::class);
$app->register(Dusterio\LumenPassport\PassportServiceProvider::class);
新しくPassportテーブルを作成します。
# Create new tables for Passport
php artisan migrate
Migrating: 2016_06_01_000001_create_oauth_auth_codes_table
Migrated: 2016_06_01_000001_create_oauth_auth_codes_table
Migrating: 2016_06_01_000002_create_oauth_access_tokens_table
Migrated: 2016_06_01_000002_create_oauth_access_tokens_table
Migrating: 2016_06_01_000003_create_oauth_refresh_tokens_table
Migrated: 2016_06_01_000003_create_oauth_refresh_tokens_table
Migrating: 2016_06_01_000004_create_oauth_clients_table
Migrated: 2016_06_01_000004_create_oauth_clients_table
Migrating: 2016_06_01_000005_create_oauth_personal_access_clients_table
Migrated: 2016_06_01_000005_create_oauth_personal_access_clients_table
認証周りのテーブルが一気にできた感がある。すごい。
secret key
を作成する。php artisan passport:install [~/src/git.pepabo.com/goope/core-api][add-passprt]
Encryption keys generated successfully.
# Access
Personal access client created successfully.
Client ID: 1
Client Secret: j9QLvQR0ElnkiVsfBTKHCvd1yo85NzmayGZqHBTB
# Grant
Password grant client created successfully.
Client ID: 2
Client Secret: dQeIBGXn5WyV4ZcxZ0Suozpjje2f9Q4VuGZa5ZBt
思ったよりも設定がかかりそうな気がしてきた...
困っていること
LumenでのOAuth2.0の実装方法がわからないので、実際に手元でLumen用のPassportを使って検証して作ってみる。
使うライブラリー
Passportを使わない方法もある。
ゴール
相談したいこと
(ゴールにいたるために、悩んでいること、決めて欲しいこと、助言してもらいたいことを書きます。)
関係者
(相談したい人にメンションします。)