ゴール
サービスプロバイダの中でも、認証情報を提供するGuardの種類を、アクセスの出元(web、api etc)によって自動判別させたい
状況
サービスプロバイダで自作サービスを登録し、register()メソッドでサービスに
auth()->user()を紐づけています。
これをPassportで認証をしたAPI経由で
利用しようとしていますが、
この条件でresolveすると
auth()->user()
がNullになります。
サービスプロバイダの外(Controllerなど)でauth()->user()をすると認証情報が取れます。
また、サービスプロバイダの中でも
auth()->guard('api')->user()
これならユーザーが取れます。
※api という名前にpassport認証ドライバを紐づける設定を書いています。
この現象から、デフォルトの認証方式であるsessionGuardを見に行ってるのは想像つくのですが… さすがにこれを毎回書くのは不便です。
どうすればサービスプロバイダの中でも、外と同じように経路を考慮した認証情報を取得してくれるようになるでしょうか。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/10 15:20
2019/04/10 15:41 編集
2019/04/12 15:53
2019/04/13 03:19