😺

Firebase Authentication Laravel Sanctumを使った認証、認可

に公開

使用

Firebase Authentication
react-firebase
Laravel firebase
Laravel Sanctum

全体の流れ

未ログイン

  • React → Firebase 認証
  • Firebase → React IdToken発行
  • React → Laravel HeaderにIdTokenつけて送信
  • Laravel → Firebase Idtokenから認証確認
  • Firebase → Laravel user情報返す
  • Laravel → DB 登録済のユーザーか確認
  • DB → Laravel ユーザー返す
  • Laravel → React XSRF-TOKEN set cookieして返す

何に詰まっていたか

最初は、socialite使ってリダイレクトさせてsanctumで認可するを実装しようとしていたが、詰まっていた。
firebase authenticationを使って認証はfirebaseに任せて、DBのデータを考慮して認可はbackendのlaravelでやりたいというのがあった。
APIトークン認証を使えば早いのだが、クッキー認証で管理したかった。

ログイン後

  • React → Laravel 認証済クッキーがあるのでログイン済であればOK~~

参考

https://qiita.com/geerpm/items/165c31302edce1e52146

https://firebase.google.com/docs/auth/web/google-signin?hl=ja
https://qiita.com/tomoeine/items/40a966bf3801633cf90f

https://jamband.github.io/blog/2022/01/web-api-with-cookie-based-session-authentication-in-laravel/

Discussion