52.7. 外部身份提供程序的模板列表

以下身份提供程序 (IdP) 支持 OAuth 2.0 设备授权流:

  • Microsoft Identity Platform,包括 Azure AD
  • Google
  • GitHub
  • Keycloak,包括 Red Hat Single Sign-On (SSO)
  • Okta

当使用 ipa idp-add 命令创建对其中一个外部 IdP 的引用时,您可以使用 --provider 选项指定 IdP 类型,它扩展至额外的选项,如下所述:

--provider=microsoft

Microsoft Azure IdP 允许基于 Azure 租户 ID 进行半虚拟化 ID,您可以使用 --organization 选项指定 ipa idp-add 命令。如果您需要对 live.com IdP 的支持,请指定 --organization common 的选项。

选择 --provider=microsoft 扩展以使用以下选项:--organization 选项的值替换了表中的字符串 ${ipaidporg}

选项

--auth-uri=URI

https://login.microsoftonline.com/${ipaidporg}/oauth2/v2.0/authorize

--dev-auth-uri=URI

https://login.microsoftonline.com/${ipaidporg}/oauth2/v2.0/devicecode

--token-uri=URI

https://login.microsoftonline.com/${ipaidporg}/oauth2/v2.0/token

--userinfo-uri=URI

https://graph.microsoft.com/oidc/userinfo

--keys-uri=URI

https://login.microsoftonline.com/common/discovery/v2.0/keys

--scope=STR

openid email

--idp-user-id=STR

email

--provider=google

选择 --provider=google 扩展以使用以下选项:

选项

--auth-uri=URI

https://accounts.google.com/o/oauth2/auth

--dev-auth-uri=URI

https://oauth2.googleapis.com/device/code

--token-uri=URI

https://oauth2.googleapis.com/token

--userinfo-uri=URI

https://openidconnect.googleapis.com/v1/userinfo

--keys-uri=URI

https://www.googleapis.com/oauth2/v3/certs

--scope=STR

openid email

--idp-user-id=STR

email

--provider=github

选择 --provider=github 展开以使用以下选项:

选项

--auth-uri=URI

https://github.com/login/oauth/authorize

--dev-auth-uri=URI

https://github.com/login/device/code

--token-uri=URI

https://github.com/login/oauth/access_token

--userinfo-uri=URI

https://openidconnect.googleapis.com/v1/userinfo

--keys-uri=URI

https://api.github.com/user

--scope=STR

user

--idp-user-id=STR

login

--provider=keycloak

使用 Keycloak 时,您可以定义多个域或机构。由于它是自定义部署的一部分,基本 URL 和域 ID 都是必需的,因此您可以使用 --base-url--organization 选项指定它们到 ipa idp-add 命令:

[root@client ~]# ipa idp-add MySSO --provider keycloak \
    --org main --base-url keycloak.domain.com:8443/auth \
    --client-id <your-client-id>

选择 --provider=keycloak 扩展以使用以下选项:您在 --base-url 选项中指定的值替换表中的字符串 ${ipaidpbaseurl},而您为 --organization 指定的选项替换字符串 `${ipaidporg}。

选项

--auth-uri=URI

https://${ipaidpbaseurl}/realms/${ipaidporg}/protocol/openid-connect/auth

--dev-auth-uri=URI

https://${ipaidpbaseurl}/realms/${ipaidporg}/protocol/openid-connect/auth/device

--token-uri=URI

https://${ipaidpbaseurl}/realms/${ipaidporg}/protocol/openid-connect/token

--userinfo-uri=URI

https://${ipaidpbaseurl}/realms/${ipaidporg}/protocol/openid-connect/userinfo

--scope=STR

openid email

--idp-user-id=STR

email

--provider=okta

在注册一个 Okta 中的新机构后,会关联一个新的基本 URL。您可以使用 ipa idp-add 命令的 --base-url 选项指定这个基本 URL:

[root@client ~]# ipa idp-add MyOkta --provider okta --base-url dev-12345.okta.com --client-id <your-client-id>

选择 --provider=okta 扩展以使用以下选项:您为 --base-url 选项指定的值替换了表中字符串 ${ipaidpbaseurl}

选项

--auth-uri=URI

https://${ipaidpbaseurl}/oauth2/v1/authorize

--dev-auth-uri=URI

https://${ipaidpbaseurl}/oauth2/v1/device/authorize

--token-uri=URI

https://${ipaidpbaseurl}/oauth2/v1/token

--userinfo-uri=URI

https://${ipaidpbaseurl}/oauth2/v1/userinfo

--scope=STR

openid email

--idp-user-id=STR

email