背景認証ゲートウェイ
としてZuulを使用して、私はこのarticleで提示設計を実装します。
以下の図で要約することができます。クライアントは最初のIDPが無いユーザ情報とアクセストークン(不透明なトークンを返しIDP(OpenIDの接続/のOAuth2)
- )
- クライアントはAPIゲートウェイ経由で呼び出します。認証ヘッダーのアクセストークンを使用します。
- APIゲートウェイは、アクセストークンを使用してIDPに要求します。
- IDPは、アクセストークンが有効であることを確認し、JSON形式
- API Gatewayは、JWTにユーザー情報を保存し、秘密鍵で署名してユーザー情報を返します。サービスが要求
これまでのところ、私はそれのほとんどが使用して行われてい
:
- 春クラウドをグローバルな枠組みとして APIゲートウェイ
として、個々のサービスに
問題は今、私の質問はZuulとそのフィルタに非常に固有のものです。何らかの理由でAPIゲートウェイで認証が失敗した場合、フィルタチェーンを継続して通話を転送せずに、ルーティングを停止して401で直接応答できますか?現時点で
認証フィルタは、ヘッダにJWTを追加しませんし、401は下流サービスから来る失敗した場合。私のゲートウェイがこの不必要な呼び出しを防ぐことができることを望んでいました。
私はこれを行うにはcom.netflix.zuul.context.RequestContext
を使用することができます方法を確認しようとしましたが、ドキュメントは非常に悪く、私は方法を見つけることができませんでした。
この問題を解決するのだろうか?それはafaikのためにこれをすぐに提供します。 –
@ M.Deinum私はこの特定のデザインを実装するのに十分なコントロールができないと思いました。私はセキュリティで保護されたネットワークとJWTの外でアクセストークンを持っている必要があります。私はSpring Cloudのセキュリティに関する多くの経験がありません。あなたは私のデザインを達成するためにそれを使うことができると思いますか? – phoenix7360
Spring Cloud Securityは、同じトークンをダウンストリーム・サービスにのみ中継します。 @ phoenix7360のようなトークンを交換したり強化したりする能力はありません。しかし、それは妥当なビルディングブロックです。 –