読書メモ Laravel 認証処理

twitter認証したくてやってみた。

f:id:shimabukuromeg:20181014011141p:plain

この記事を参考にした。ちゃんとTwiterのユーザー情報をとってこれてるのにテンション上がる!笑

lara-bell.com

email の情報がnull で登録は失敗。Twitter側で利用規約的なやつを登録しないとメールの情報は取れないっぽい

Illuminate \ Database \ QueryException (23000)
SQLSTATE[23000]: Integrity constraint violation: 1048 
Column 'email' cannot be null (SQL: insert into `users` (`email`, `name`, `updated_at`, `created_at`) values (, 島袋恵😘, 2018-10-14 01:07:39, 2018-10-14 01:07:39))

f:id:shimabukuromeg:20181014012343p:plain

minory.org

うまくいったと思ってたけど、実はうまくできてなかった件

ログイン時に以下のエラーが出る。(初回ログイン時のみ出るっぽい?)

Argument 1 passed to Illuminate\Auth\SessionGuard::login() must implement interface Illuminate\Contracts\Auth\Authenticatable, 
null given, called in /app/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php on line 292

f:id:shimabukuromeg:20181014115236p:plain

補足としてマルチ認証を使う場合は、デフォルト設定のガード以外を利用する局面では、ガード名の指定が必要です。また、一つのLaravelアプリではセッションを共有する都合上、別々の認証設定アカウントを使う操作者がいる場合はログオフして使わないと競合してしまいます。

なるほどー。認証の処理がよくわかってないことがわかったので調べる。ガード?

teratail.com