🦔
【ログイン機能】Laravel の認証周り【nuxtとのapi連携での設定場所備忘録】
SPAを作ることになった、APIを作ることになったときに見ることになる
guard
- Laravel では「認証」と呼ぶ
- ログイン機構の種類
- ログイン画面の数だけガードがある、というイメージ
config/auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'jwt', //変更
'provider' => 'users',
'hash' => false,
],
],
driver(ガードドライバ)
- ログインの認証状態をどうやって管理するか
'driver' => 'session',
jwtを利用する場合
'api' => [
'driver' => 'jwt', //変更
'provider' => 'users',
'hash' => false,
],
provider
認証の方法
'provider' => 'users',
provider
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
driver(プロバイダドライバ)
パスワードをどのように検証し、どのような条件ならログインを許可するか
実体は UserProvider クラスと Hasher クラスの組み合わせ
'driver' => 'eloquent',
model
誰をログインさせるか
- 多くの場合は、ログインユーザを管理しているテーブルに対応する、モデルクラス
- このモデルクラスは、 Authenticatable(auth) インターフェイスを実装している必要がある
'model' => App\User::class,
マルチ認証を実装する場合
guardにログイン機構の種類を複数設定
参考
これも確認してみる
Discussion