saml-broker-authentication の例を実行しています。私が最初に目にするのはUIにあり、ブローカーを使用するオプションを備えたユーザー/パスです(下の画像)。
このフォームをスキップしてIDPに直接移動する方法はありますか?
IDPの1つをクリックすると、次のようなURLが表示されます:http://localhost:8080/auth/realms/saml-broker-authentication-realm/broker/sanity-idp/login?client_id=saml-broker-authentication&code=<keycloak generated>
次のURL(コードなし)を直接使用しようとしましたが、エラーが発生しました。 (http://localhost:8080/auth/realms/saml-broker-authentication-realm/broker/sanity-idp/login?client_id=saml-broker-authentication
)
Keycloak認証をバイパスし、SP(ブローカー)を介してIDPに直接アクセスする方法はありますか?ありがとうございます。
UPDATE:私のTLは、Identity Provider Redirector
実行下のブラウザの認証フローにIDPIDを配置する静的ソリューションを見つけました。しかし、私たちはそれを行うための動的な方法を見つけようとしています。 kc_idp_hintドキュメント を調べましたが、saml-broker-authenticationの例を使用する方法が見つかりませんでした:(
これに対する機能要求がまだ解決されていないようです。
https://issues.jboss.org/browse/KEYCLOAK-4884
前述のように、レルム全体にデフォルトのIDプロバイダーを設定することで、Keycloak画面をバイパスしてIdPに直接移動できます( https://www.keycloak.org/docs/latest/server_admin/index.html #default_identity_provider )。
これはレルムごとに設定されるため、新しいレルムを作成して、そのレルムのデフォルトのIDプロバイダーを設定できます。そうすれば、異なるIdPに仲介する必要のあるSPがある場合、それらを適切なレルムに設定できます。
欠点は、各レルムが独自のIdPとして機能するため、独自のエンティティID、公開鍵などを持っていることです。デフォルトにするには、毎回SP別のIdP。
キークロークログインフォームを無視してIDプロバイダーをデフォルトとして設定するには、認証メニュー> IDプロバイダーリダイレクタアクションリンクに移動し、デフォルトのIDプロバイダーを目的のプロバイダーのエイリアスに設定します。ブラウザlocalhost:8080/realm [...]/accountから開くと、プロバイダーのログインページに自動的にリダイレクトされます。
それは古い投稿ですが、おそらくまだ誰かにとって実際のものです。
キークローク管理パネルで設定されたIDプロバイダーのログインページでの静的リダイレクトの場合、名前をIdentity Providers -> name
からAuthentication -> Identity Provider Redirector -> config -> Default Identity Provider
に設定します。その後、https://{KK}/realms/{RM}/protocol/openid-connect/auth?...
へのリクエストにより、IDプロバイダーにリダイレクトされます。フェイスブック
動的選択IDP。 idpログインページに移動しない場合は、KKに追加のパラメータkc_idp_hint
を入力できます。
// go to KK login page with username/pass and choice of idp provider
https://{KK}/realms/{RM}/protocol/openid-connect/auth?...&kc_idp_hint
// go to facebook login page if facebook idp is cinfigure
https://{KK}/realms/{RM}/protocol/openid-connect/auth?...&kc_idp_hint=facebook
// go to other login page
https://{KK}/realms/{RM}/protocol/openid-connect/auth?...&kc_idp_hint=other
それをたくさん検索した後、私はこのコード行でそれを行うことができました:
keycloakAuth.login({idpHint: 'facebook'});
keycloakAuthは次のとおりです。
keycloakAuth = Keycloak({
url: environment.keycloakRootUrl,
realm: 'realm',
clientId: 'client-id',
'ssl-required': 'external',
'public-client': true
});
デフォルトのIDプロバイダーとして設定する必要はありません
Keycloakブローカーを介してIDPログインページにリダイレクトするには、次のURLを使用できます: http:// localhost:8080/saml-broker-authentication /