10

Firebase認証とSpring Security(RESTサービス用)を簡単に統合する方法はありますか?Spring SecurityとFirebase認証を使用するRESTサービス

私が読んだところでは、Firebase経由で取得したJWTトークンを使用し、Springサービスを認証し、最終的にFirebase経由でサービス内のトークンを確認する必要があります。しかし、私はSpring SecurityでJWTを使用することについて(簡単な)ドキュメンテーションを見つけることはできません。

また、メール/パスワードの資格情報を使ってFirebase経由でJWTトークンを取得できるように、JWTではなくBasic Authを使用する/ auth/loginエンドポイントを提供できるようにしたいと思います。しかし、これは、サービス内の1つのエンドポイントでBasic Authを有効にし、他のすべてでJWT Authを有効にすることを意味します。それが可能であるかどうかはわかりません。

+0

事前認証されたフィルタを使用すると思いましたか?あなたはFirebaseによって行われた認証を「信頼」し、その承認をスプリングセキュリティに委任します –

答えて

0

短い回答:いいえ。

長い回答:Firebaseに関係なく、独自のJWTを作成する必要があります。 FirebaseからJWTを受け取ったら、その完全性を確認してください。次に、トークンのデータに基づいて自分自身を発行します。次に、それをさまざまなOAuthプロバイダに適合させるだけです。こうすることで、各要求に対してfirebaseへのラウンドトリップを回避できます。

各リクエスト(ステートレス認証)でユーザを認証する場合は、優先度の高いフィルタを追加します。あなたがフィルタリングしているHTTP要求から、JWTを取得し、その完全性を検証します。すべてが有効であれば、SecurityContextHolderで認証を設定します。