18.12. 身份提供程序操作


列出可用的身份提供程序

使用 serverinfo 端点列出可用的身份提供程序。

例如:

$ kcadm.sh get serverinfo -r demorealm --fields 'identityProviders(*)'
Copy to Clipboard Toggle word wrap
注意

Red Hat build of Keycloak 处理 serverinfo 端点,类似于 realm 端点。红帽构建的 Keycloak 不会解析相对于目标域的端点,因为它存在于任何特定域之外。

列出配置的身份提供程序

使用 identity-provider/instances 端点。

例如:

$ kcadm.sh get identity-provider/instances -r demorealm --fields alias,providerId,enabled
Copy to Clipboard Toggle word wrap

获取特定的配置的身份提供程序

使用身份提供程序的 alias 属性来构建端点 URI,如 identity-provider/instances/ALIAS,以获取特定的身份提供程序。

例如:

$ kcadm.sh get identity-provider/instances/facebook -r demorealm
Copy to Clipboard Toggle word wrap

删除特定的配置的身份提供程序

使用 delete 命令以及您用来获取特定配置的身份提供程序的同一端点 URI,以移除特定的配置的身份提供程序。

例如:

$ kcadm.sh delete identity-provider/instances/facebook -r demorealm
Copy to Clipboard Toggle word wrap

配置 Keycloak OpenID Connect 身份提供程序

  1. 在创建新身份提供程序实例时,请使用 keycloak-oidc 作为 providerId
  2. 提供配置属性: authorizationUrl,tokenUrl,clientId, 和 clientSecret

    例如:

    $ kcadm.sh create identity-provider/instances -r demorealm -s alias=keycloak-oidc -s providerId=keycloak-oidc -s enabled=true -s 'config.useJwksUrl="true"' -s config.authorizationUrl=http://localhost:8180/realms/demorealm/protocol/openid-connect/auth -s config.tokenUrl=http://localhost:8180/realms/demorealm/protocol/openid-connect/token -s config.clientId=demo-oidc-provider -s config.clientSecret=secret
    Copy to Clipboard Toggle word wrap

配置 OpenID Connect 身份提供程序

配置通用 OpenID Connect 供应商的方式与配置 Keycloak OpenID Connect 供应商的方式相同,但您将 providerId 属性值设置为 oidc

配置 SAML 2 身份提供程序

  1. 使用 saml 作为 providerId
  2. 提供配置属性: singleSignOnServiceUrlnameIDPolicyFormatsignatureAlgorithm

例如:

$ kcadm.sh create identity-provider/instances -r demorealm -s alias=saml -s providerId=saml -s enabled=true -s 'config.useJwksUrl="true"' -s config.singleSignOnServiceUrl=http://localhost:8180/realms/saml-broker-realm/protocol/saml -s config.nameIDPolicyFormat=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent -s config.signatureAlgorithm=RSA_SHA256
Copy to Clipboard Toggle word wrap

配置Facebook 身份提供程序

  1. 使用 facebook 作为 providerId
  2. 提供 配置属性clientIdclientSecret。您可以在用于应用程序的Facebook Developers 应用程序配置页面中找到这些属性。如需更多信息,请参阅 Facebook 身份代理 页面。

    例如:

    $ kcadm.sh create identity-provider/instances -r demorealm -s alias=facebook -s providerId=facebook -s enabled=true  -s 'config.useJwksUrl="true"' -s config.clientId=FACEBOOK_CLIENT_ID -s config.clientSecret=FACEBOOK_CLIENT_SECRET
    Copy to Clipboard Toggle word wrap

配置 Google 身份提供程序

  1. 使用 google 作为 providerId
  2. 提供 配置属性clientIdclientSecret。您可以在应用程序的 Google Developers 应用程序配置页面中找到这些属性。如需更多信息,请参阅 Google 身份代理 页面。

    例如:

    $ kcadm.sh create identity-provider/instances -r demorealm -s alias=google -s providerId=google -s enabled=true  -s 'config.useJwksUrl="true"' -s config.clientId=GOOGLE_CLIENT_ID -s config.clientSecret=GOOGLE_CLIENT_SECRET
    Copy to Clipboard Toggle word wrap

配置 OBC 身份提供程序

  1. 使用 twitter 作为 providerId
  2. 提供 配置属性 clientIdclientSecret。您可以在应用程序的 Artistic Application Management 应用程序配置页面中找到这些属性。如需更多信息 ,请参阅 author 身份代理 页面。

    例如:

    $ kcadm.sh create identity-provider/instances -r demorealm -s alias=google -s providerId=google -s enabled=true  -s 'config.useJwksUrl="true"' -s config.clientId=TWITTER_API_KEY -s config.clientSecret=TWITTER_API_SECRET
    Copy to Clipboard Toggle word wrap

配置 GitHub 身份提供程序

  1. 使用 github 作为 providerId
  2. 提供 配置属性 clientIdclientSecret。您可以在应用程序的 GitHub Developer Application Settings 页面中找到这些属性。如需更多信息,请参阅 GitHub 身份代理 页面。

    例如:

    $ kcadm.sh create identity-provider/instances -r demorealm -s alias=github -s providerId=github -s enabled=true  -s 'config.useJwksUrl="true"' -s config.clientId=GITHUB_CLIENT_ID -s config.clientSecret=GITHUB_CLIENT_SECRET
    Copy to Clipboard Toggle word wrap

配置 LinkedIn 身份提供程序

  1. 使用 linkedin 作为 providerId
  2. 提供 配置属性 clientIdclientSecret。您可以在应用程序的 LinkedIn Developer Console 应用程序页面中找到这些属性。如需更多信息,请参阅 LinkedIn identity 代理 页面。

    例如:

    $ kcadm.sh create identity-provider/instances -r demorealm -s alias=linkedin -s providerId=linkedin -s enabled=true  -s 'config.useJwksUrl="true"' -s config.clientId=LINKEDIN_CLIENT_ID -s config.clientSecret=LINKEDIN_CLIENT_SECRET
    Copy to Clipboard Toggle word wrap

配置 Microsoft Live 身份提供程序

  1. 使用 microsoft 作为 providerId
  2. 提供 配置属性 clientIdclientSecret。您可以在应用程序的 Microsoft Application Registration Portal 页面中找到这些属性。如需更多信息,请参阅 Microsoft 身份代理 页面。

    例如:

    $ kcadm.sh create identity-provider/instances -r demorealm -s alias=microsoft -s providerId=microsoft -s enabled=true  -s 'config.useJwksUrl="true"' -s config.clientId=MICROSOFT_APP_ID -s config.clientSecret=MICROSOFT_PASSWORD
    Copy to Clipboard Toggle word wrap

配置 Stack Overflow 身份提供程序

  1. 使用 stackoverflow 命令作为 providerId
  2. 提供 配置属性 clientIdclientSecretkey。您可以在应用程序的 Stack Apps OAuth 页面中找到这些属性。如需更多信息,请参阅 Stack Overflow 身份代理 页面。

    例如:

    $ kcadm.sh create identity-provider/instances -r demorealm -s alias=stackoverflow -s providerId=stackoverflow -s enabled=true  -s 'config.useJwksUrl="true"' -s config.clientId=STACKAPPS_CLIENT_ID -s config.clientSecret=STACKAPPS_CLIENT_SECRET -s config.key=STACKAPPS_KEY
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat