私のプロジェクトでは、現在、次のような方法で機能するレガシー認証があります。
API service
コンテナで実行されているカスタム アプリケーションである と通信するクライアント (スタンドアロン) があります。- PKCE による OAuth をサポートするクラウド ID プロバイダー (IdP) が使用されます。ユーザーがログインページに移動し、コールバックにリダイレクトされると、通常のログインプロセスを介してトークンを提供します。
API service
コールバックの受信者として機能します。したがって、ID プロバイダーtoken-1
を取得してキャッシュに格納します。これに基づいて、変更されたtoken-2
「計算された」token-1
が異なるものをクライアントに返します。- クライアントが REST 呼び出しを行う必要がある場合、
token-2
JWT トークンで装飾します。呼び出しは、一致する API サービスに送られ、token-1
IdP に対して検証できます。
API service
クラウドネイティブのメカニズムを取り除く必要があります。AWS HTTP API ゲートウェイは、 JWT Authorizer 機能を使用して IdP と直接統合できると想定しています。残念ながら、機能を維持しなければならない現在のレガシー フローに影響を与えることはできません。
ただし、JWT オーソライザーと、クライアント向けトークンを IdP トークンに交換するクライアント エンドポイントの間に Lambda を挿入したいと考えています (実行していたことAPI service
を実行します)。それは可能でしょうか、どうすればこれにアプローチできますか?