実現したいこと
Firebase Authenticationを利用している部分を、
開発環境ではモック(Firebaseに問い合わせない)、
Stage及び本番環境ではFirebaseで実際の動作をさせる
環境
- Laravel8
- PHP8
- Firebase Authentication
質問詳細
認証基盤にFirebase Authenticationを利用しています。
環境はLaravel8系を利用しており、APIを作成しています。
bearer tokenにFirebaseのidTokenを指定し、
LaravelのAPIを叩かれたときに、verifyIdToken
メソッドを利用し都度正しいトークンかを確認する流れを作りました。
しかし、開発環境でAPIを実行する際、idTokenを取得しAPIに含めて送信しなければなりません。
これは開発中はとても手間です。
ですので、このidTokenをチェックする部分を開発環境の場合はMockなどに置き換えたいと思っているのですが、
そのやり方が見つからず困っています。
(PHPUnitを利用した際の、Mockはたくさん出てきますし、実際にそれを利用してテストコードを実行しています。)
この場合はどの様にすればよいのでしょうか?
やはり
if (env('APP_ENV') === 'production') { // firebaseにつなぎに行くverifyIdTokenを実行し、ユーザ情報を返す } else { // ダミーのユーザ情報を返す処理 } // ※ わかりやすくするためelseを書いています。早期リターンについてのツッコミはなしでお願いします。
の様に書かなければいけないのでしょうか?
ご存じの方がいらっしゃいましたら、ご教示いただけますと幸いです。