募集をシェアしてメンターを探そう
シェア

※ この募集は締め切られました。

サーバーサイド Laravel

Laravelのマルチ認証のセッションの扱いについて単発質問です。

2021年8月23日
単発
予算
3,000円 〜 3,500円
提案数
提案待ち
応募期限
終了

laravelでマルチ認証のようなものを以下のサイトを参考に作成しました。
https://qiita.com/namizatork/items/5d56d96d4c255a0e3a87

しかし同じブラウザーを複数立ち上げて、複数のログインをしたときに
ログインする度に、セッションのトークンが変わるため、
古いブラウザーが保持しているトークンと、サーバーのトークンが合わないため419エラーが多発します。

それで以下のサイトを参照して、セッションを分けたのですが、
https://humo-life.net/memo/doku.php?id=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E8%A8%80%E8%AA%9E:php:laravel:%E8%AA%8D%E8%A8%BC:%E3%83%9E%E3%83%AB%E3%83%81%E8%AA%8D%E8%A8%BC%E3%81%AE%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%88%86%E3%81%91%E3%82%8B

今度は、Auth::guard('user')のようなガード機能が使えなくなりました。。

サイトは親のログイン機能があって、子のログイン機能があって、
同じブラウザーを複数立ち上げて使うことも想定され、
親がログインされていれば、子のログインも自由自在に
以下のコードで出来るようにしたいのですが、
Auth::guard('child')->loginUsingId($child_id);
セッションを分けてしまうと、なぜかguard機能が使えず、上記の機能も使えなくなります。。
セッションを分けてなければ、ガード機能は問題なく使えます。ただ今度は419エラーが出ます。

現状は419エラーが出たら、リダイレクトする仕組みになっているのですが、
使う側としてはなぜリダイレクトされたかわからない不安な気持ちにさせてしまうので、
リダイレクトなどはさせず、しかしgurad機能も使えないと、いろいろと不便なので、
なんとか解決方法がないかと悩んでいるところです。

コードは個人の所有物ではないため全てをお見せすることはできませんがアドバイスを頂ける方いらっしゃいましたら宜しくお願いします。

募集をシェアしてメンターを探そう
シェア