こんにちは、長いテキストですみません。
Keycloakと通信するためのモジュールを備えたRESTアプリがあります。レルムでKeycloakの「admin」ユーザーを使用してユーザーを管理しています。また、REST 呼び出しを実行して、ユーザー名とパスワードを使用してユーザーのアクセス トークンを取得します。つまり、私のバックエンド アプリは一種のプロキシです。
ここで、別の IDP (BankID) との統合を実装する必要があり、両方 (Keycloak と BankId) を使用する必要があります。
認証が成功すると、UI 上のユーザーは BankID ログイン ページにリダイレクトされ、コードを使用して UI にリダイレクトされます。UI はバックエンドを呼び出します。バックエンドは、UI から受信したコードを使用して、BankID IDP から機密データを要求します。それに応じて、私は電子メールと残りの情報を受け取ります。したがって、このユーザーは信頼されており、別の IDP から受信したメールを使用して、このユーザーの Keycloak access_token を取得する必要があります (このユーザーは以前に 100% Keycloak に登録されていたため)。
そして、ここに問題があります。メールしかなく、パスワードがないため、Keycloak からこのユーザーのトークンを取得できません。Keycloak側に保存されているユーザーパスワードなしでこれをリッチにする方法がわかりません。
Token Exchange、Impersonation、Direct Naked Impersonation を試しましたが、何も役に立ちませんでした (ホッピー、何か間違ったことをしたのですが、それは可能です)。