問題タブ [kong]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
api - KONG API Gateway での Cookie を使用した JWT 認証
JWT 認証プラグインを備えた Kong API ゲートウェイを使用してサンプル アプリケーションを実装しています。
このスレッドで参照されているように、ブラウザに JWT を保存するには 2 つの方法があります。Web ストレージまたは Cookie。ただし、Web ストレージ (つまり、セッション ストレージとローカル ストレージ) は、クロスサイト スクリプティング攻撃 (XSS) に対して脆弱になる可能性があります。したがって、他のオプションはクッキーです。(CSRFは気をつけなければなりませんが)
質問が 2 つあります。
Web ストレージを使用して JWT を保存する場合、XSS を停止する方法はありますか。はいの場合、同じページが新しいタブで開いているか、同じページをリロードすると、どのように機能しますか?
Cookie の使用: リクエストで Cookie を送信できます。しかし、KONG は、JWT がヘッダー(
Authorisation: Bearer token
) に設定されている場合にのみエンド ポイント URL を認証しており、Cookie を使用して認証していません。KONG API Gateway を使用して Cookie に設定されている JWT を確認する方法はありますか?
api - パブリック マイクロサービスを使用した API ゲートウェイ (Kong) の認証
インターネット経由でアクセスできるように公開されている Web アプリがあります。このアプリは、アプリが呼び出すことができる API のモノリシック セット (ユーザー認証を含む) を含む Web サーバー上で実行されます。ユーザーが自分のコードから自分のアカウントに関する限定されたデータ セットをクエリできるように、"API" (ex// データの収集) を公開したいと考えています。これにより、収集したデータを使用してカスタム ダッシュボードを作成できるようになります。
この新しい API を使用すると、API 呼び出しを Web-ap 以外の場所から行うことができるようになりました。そのため、リクエストの「ロード」を管理する API ゲートウェイを設定します。たとえば、ゲートウェイはユーザーのリクエストを 10 分に 1 回に制限できます。
エンド ユーザーには、Kong を介してリクエストを行うための API キーが与えられ、Kong は Web サーバーへの HTTP GET/POST を使用して API クエリを実行します。私たちの Web サーバーは公開されているため、API の要求 (データの収集) が Kong からのみ送信されていることを確認する方法が必要です。私はJWTについていくつかの調査を行いましたが、可能なアプローチのようです。Web サーバーによって発行された独自の JWT を Kong サーバーに単純に与えることは理にかなっていますか? 次に、Kong JWT を持たない Web サーバーへの GET/POST は拒否されます。
これは API ゲートウェイの最も論理的なセットアップではない可能性があることはわかっています。通常、Kong が相互に通信するのと同じプライベート ネットワーク上にマイクロサービスがあり、Kong のように着信するリクエストの信頼性を必ずしも検証する必要はありません。それを処理します。しかし、現在のセットアップを考えると、JWT アプローチが最も理にかなっているでしょうか?