0

auth servicejwt トークンの有効性をチェックするがありreq.headers.Authorization、エンティティに対して CRUD 操作を行う別の API サービスがありcustomer、その API サービスへのすべてのリクエストで有効な JWT が必要になります。そして、これらすべてが に包まれていkubernetes cluster + istioます。私が現在していることはこのようなものです

  1. クライアントはPOST /customerJWT を次のように要求しています。headers.Authorization
  2. バックエンドのPOST /customerAPI サービスはauth service、JWT を渡して有効性を確認することで と通信します。
  3. 有効でない場合は、トークン エラー応答を返します。
  4. 有効な場合は、顧客の作成操作を実行し、データをデータベースに保存します

これは正常に機能していますが、すべてのエンドポイントでこれを繰り返していることがわかりauth checksました。もちろん、同じサービスにミドルウェアをセットアップして、着信要求が に到達する前に傍受してチェックを実行できますcontroller

サービス自体に書き込むのではなく、このmiddlewareアプローチを実現できるかどうか疑問に思っていました。istio

私が達成したいこと

  1. クライアントはPOST /customerJWT を次のように要求しています。headers.Authorization
  2. はこのistio sidecar(?)/ingress gatewayリクエストをキャッチし、それを認証サービスに送信 (リダイレクト) して、宛先に渡す前に最初にチェックします。
  3. 有効でない場合は、トークン エラー応答を返します。
  4. 有効な場合は、元の宛先に渡します

istioはこれを行うことができますか? Authorizationに関する istio ドキュメントを読みましたが、ここで達成したいことを説明しているとは思いません

4

2 に答える 2

0

あなたが達成しようとしていることは、request routingで可能だと思います。基本的には、ヘッダーに基づいてリクエストをチャットし、サービスにルーティングします。

于 2021-05-17T13:59:57.537 に答える