9.4. 社交身份提供程序 社交身份提供程序可将身份验证委托给受信任、尊重的社交介质帐户。红帽构建的 Keycloak 包括对社交网络的支持,如 Google、Facebook、Twitter、GitHub、LinkedIn、Microsoft 和 Stack Overflow。 9.4.1. Bitbucket复制链接链接已复制到粘贴板! 要使用 Bitbucket 登录,请执行以下步骤。 流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 Bitbucket。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在单独的浏览器选项卡中,在 Bitbucket 云进程上执行 OAuth。当您点 Add Consumer 时: 将 Redirect URI 的值粘贴到 Callback URL 字段中。 确保您在 帐户 部分中选择 Email 和 Read,以允许您的应用程序读取电子邮件。 请注意,在创建消费者时会显示 Key 和 Secret 值 Bitbucket。 在红帽构建的 Keycloak 中,将 Key 的值粘贴到 Client ID 字段中。 在红帽构建的 Keycloak 中,将 Secret 的值粘贴到 Client Secret 字段中。 点击 Add。 9.4.2. Facebook复制链接链接已复制到粘贴板!流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 Facebook。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在单独的浏览器选项卡中,打开 Developers 的 Meta。 单击 My Apps。 选择 Create App。 添加用例 选择 其他。 选择应用程序类型 选择 Consumer。 创建一个应用程序 填写所有必填字段。 点 Create app。然后,meta 带您进入仪表板。 添加产品 在 Facebook Login 框中,单击 Set Up。 选择 Web。 在 Site URL 字段中输入 Redirect URI 的值,然后单击 Save。 在导航面板中,选择 App settings - Basic。 在 App Secret 字段中点 Show。 记录 App ID 和 App Secret。 在 Red Hat build of Keycloak 中的 Client ID 和 Client Secret 字段中输入您的 Facebook app 中的 App ID 和 App Secret值。 点 添加 在 Default Scopes 字段中输入所需的范围。默认情况下,红帽构建的 Keycloak 使用 电子邮件 范围。有关 Facebook 范围的更多信息,请参阅 Graph API。 红帽构建的 Keycloak 将配置集请求发送到 graph.facebook.com/me?fields=id,name,email,first_name,last_name。响应仅包含 id, name, email, first_name, 和 last_name 字段。要从 Facebook 配置集中获取其他字段,请在 Additional user profile 项项中添加相应 的范围并添加字段名称。 9.4.3. GitHub复制链接链接已复制到粘贴板! 要使用 GitHub 登录,请执行以下步骤。 流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 Github。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在单独的浏览器选项卡中,创建 OAUTH 应用。 在创建应用程序时,在 Authorization 回调 URL 字段中输入 Redirect URI 的值。 请注意 OAUTH 应用程序的管理页面中的客户端 ID 和客户端 secret。 在 Red Hat build of Keycloak 中,将 Client ID 的值粘贴到 Client ID 字段中。 在 Red Hat build of Keycloak 中,将 Client secret 的值粘贴到 Client Secret 字段中。 点击 Add。 9.4.4. GitLab复制链接链接已复制到粘贴板!流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 GitLab。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在单独的浏览器选项卡中,添加新的 GitLab 应用。 使用剪贴板中的 Redirect URI 作为 Redirect URI。 在保存应用程序时 记录应用程序 ID 和 Secret。 在红帽构建的 Keycloak 中,将 Application ID 的值粘贴到 Client ID 字段中。 在红帽构建的 Keycloak 中,将 Secret 的值粘贴到 Client Secret 字段中。 点击 Add。 9.4.5. Google复制链接链接已复制到粘贴板!流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 Google。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在单独的浏览器选项卡中,打开 Google Cloud Platform 控制台。 在 Google 应用程序的 Google 仪表板中,在左侧的 Navigation 菜单中,将鼠标悬停在 API & Services 上,然后点 OAuth consent 屏幕 选项。创建同意屏幕,确保同意屏幕的用户类型是 外部。 在 Google 仪表板中: 点 Credentials 菜单。 单击 CREATE CREDENTIALS - OAuth 客户端 ID。 从 Application type 列表中,选择 Web application。 使用剪贴板中的 Redirect URI 作为 Authorized 重定向 URI 点 Create。 记录 您的客户端 ID 和 您的客户端 secret。 在红帽构建的 Keycloak 中,将您的 客户端 ID 的值粘贴到 Client ID 字段中。 在红帽构建的 Keycloak 中,将您的 客户端 secret 的值粘贴到 Client Secret 字段中。 点 添加 在 Default Scopes 字段中输入所需的范围。默认情况下,红帽构建的 Keycloak 使用以下范围: openid 配置集 电子邮件。如需 Google 范围列表,请参阅 OAuth Playground。 要限制对 GSuite 组织成员的访问,请在 Hosted Domain 字段中输入 G Suite 域。 点击 Save。 9.4.6. Instagram复制链接链接已复制到粘贴板!流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 Instagram。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在单独的浏览器选项卡中,打开 Developers 的 Meta。 单击 My Apps。 选择 Create App。 添加用例 选择 其他。 选择应用程序类型 选择 Consumer。 创建一个应用程序 填写所有必填字段。 点 Create app。然后,meta 带您进入仪表板。 在导航面板中,选择 App settings - Basic。 选择页面底部的 + Add Platform。 单击 [Website]。 输入您的站点的 URL。 添加产品 从菜单中选择 Dashboard。 在 Instagram Basic Display 框中,单击 Set Up。 单击 Create New App。 创建一个新的 Instagram App ID 在 Display name 字段中输入值。 设置应用程序 将来自红帽构建的 Keycloak 的 重定向 URL 粘贴到 Valid OAuth Redirect URIs 字段中。 将红帽构建的 Keycloak 的 重定向 URL 粘贴到 Deauthorize Callback URL 字段中。 将红帽构建的 Keycloak 的 重定向 URL 粘贴到 Data Deletion Request URL 字段中。 在 Instagram App Secret 字段中点 Show。 注意 Instagram App ID 和 Instagram App Secret。 点 App Review - Requests。 按照屏幕上的说明进行操作。 在红帽构建的 Keycloak 中,将 Instagram App ID 的值粘贴到 Client ID 字段中。 在红帽构建的 Keycloak 中,将 Instagram App Secret 的值粘贴到 Client Secret 字段中。 点击 Add。 9.4.7. LinkedIn复制链接链接已复制到粘贴板!流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 LinkedIn。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在单独的浏览器选项卡中,在 LinkedIn 开发人员门户创建一个应用程序。 创建应用程序后,单击 Auth 选项卡。 在 Authorized redirect URLs for your app 字段中输入 Redirect URI 的值。 记录 您的客户端 ID 和 您的客户端 Secret。 点 Products 选项卡,使用 OpenID Connect 产品对 Sign In with LinkedIn 的 Request 访问。 在 Red Hat build of Keycloak 中,将 Client ID 的值粘贴到 Client ID 字段中。 在红帽构建的 Keycloak 中,将 Client Secret 的值粘贴到 Client Secret 字段中。 点击 Add。 9.4.8. Microsoft复制链接链接已复制到粘贴板!流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 Microsoft。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在单独的浏览器选项卡中,在 App registrations 下 注册一个应用程序。 在 Redirect URI 部分中,选择 Web 作为平台,并将 Redirect URI 的值粘贴到字段中。 在 App registrations 下查找应用程序,并在 Certificates & secrets 部分中添加新客户端 secret。 请注意创建的 secret 的值。 请注意 Overview 部分中的 应用程序(客户端)ID。 在 Red Hat build of Keycloak 中,将 Application (client) ID 的值粘贴到 Client ID 字段中。 在红帽构建的 Keycloak 中,将 secret 的 Value 粘贴到 Client Secret 字段中。 点击 Add。 9.4.9. OpenShift 3复制链接链接已复制到粘贴板!流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 Openshift v3。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 使用 oc 命令行工具注册您的客户端。 oc create -f <(echo ' $ oc create -f <(echo ' kind: OAuthClient apiVersion: v1 metadata: name: kc-client 1 secret: "..." 2 redirectURIs: - "http://www.example.com/" 3 grantMethod: prompt 4 ') Copy to Clipboard Copied! Toggle word wrap Toggle overflow 1 OAuth 客户端 的名称。在向 <openshift_master> /oauth/ authorize 和 <openshift_master> / oauth/ token 发出请求时,作为 client_id request 参数传递。 2 用于 client_ secret 请求参数的 Keycloak 的 secret Red Hat build。 3 对 < openshift_master>/oauth/authorize 和 < openshift_master> /oauth/token 的请求中指定的 redirect_uri 参数必须等于 redirectURIs 中的某一 URI (或作为前缀)。您可以从 Identity Provider 屏幕中的 Redirect URI 字段获取它 4 grantMethod Red Hat build of Keycloak 用来确定这个客户端请求令牌但没有被用户授予访问权限时的操作。 在 Red Hat build of Keycloak 中,将 Client ID 的值粘贴到 Client ID 字段中。 在红帽构建的 Keycloak 中,将 Client Secret 的值粘贴到 Client Secret 字段中。 点击 Add。 9.4.10. OpenShift 4复制链接链接已复制到粘贴板!先决条件 存储在红帽构建的 Keycloak Truststore 中的 OpenShift 4 实例的证书。 配置红帽 Keycloak 服务器的红帽构建以使用信任存储。如需更多信息 ,请参阅配置信任存储章节。 流程 单击菜单中的 Identity Providers。 在 Add provider 列表中,选择 Openshift v4。 输入 Client ID 和 Client Secret,并在 Base URL 字段中输入 OpenShift 4 实例的 API URL。另外,您可以将 Redirect URI 复制到您的剪贴板。 添加身份提供程序 通过 OpenShift 4 控制台(Home API Explorer OAuth Client Instances)或使用 oc 命令行工具注册您的客户端。 oc create -f <(echo ' $ oc create -f <(echo ' kind: OAuthClient apiVersion: oauth.openshift.io/v1 metadata: name: kc-client 1 secret: "..." 2 redirectURIs: - "<here you can paste the Redirect URI that you copied in the previous step>" 3 grantMethod: prompt 4 ') Copy to Clipboard Copied! Toggle word wrap Toggle overflow 1 OAuth 客户端 的名称。在向 <openshift_master> /oauth/ authorize 和 <openshift_master> / oauth/ token 发出请求时,作为 client_id request 参数传递。OAuthClient 对象中 name 参数必须相同,红帽构建的 Keycloak 配置。 2 红帽构建的 Keycloak 的 secret 用作 client_secret 请求参数。 3 对 < openshift_master>/oauth/authorize 和 < openshift_master> /oauth/token 的请求中指定的 redirect_uri 参数必须等于 redirectURIs 中的某一 URI (或作为前缀)。正确配置它的最简单方法是,从红帽构建的 Keycloak OpenShift 4 Identity Provider 配置页面(Redirect URI 字段)复制它。 4 grantMethod Red Hat build of Keycloak 用来确定这个客户端请求令牌但没有被用户授予访问权限时的操作。 最后,您应该在红帽构建的 Keycloak 实例的登录页面上看到 OpenShift 4 身份提供程序。在单击它后,您应当重定向到 OpenShift 4 登录页面。 结果 如需更多信息,请参阅官方 OpenShift 文档。 9.4.11. PayPal复制链接链接已复制到粘贴板!流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 PayPal。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在单独的浏览器选项卡中,打开 PayPal Developer 应用程序区域。 点 Create App 创建 PayPal 应用。 记录 客户端 ID 和客户端 Secret。单击 Show 链接,以查看该机密。 确保选中 带有 PayPal 登录。 在 Log in with PayPal 下点 Advanced Settings。 将 return URL 字段的值设置为来自红帽 Keycloak 的 Redirect URI 的值。请注意,URL 不得包含 localhost。如果要在本地使用红帽 Keycloak 构建,请将 返回 URL 中的 localhost 替换为 127.0.0.1,然后在 localhost 的浏览器中使用 127.0.0.1 访问 Keycloak 的红帽构建。 确保选中了 Full Name 和 Email 字段。 单击 Save,然后单击 Save Changes。 在 Red Hat build of Keycloak 中,将 Client ID 的值粘贴到 Client ID 字段中。 在红帽构建的 Keycloak 中,将 Secret 键 1 的值粘贴到 Client Secret 字段中。 点击 Add。 9.4.12. 堆栈溢出复制链接链接已复制到粘贴板!流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 Stack Overflow。 添加身份提供程序 在单独的浏览器选项卡中,登录 在 Stack Apps 上注册您的应用程序。 注册应用程序 在 Application Name 字段中输入您的应用程序名称。 在 OAuth Domain 字段中输入 OAuth 域。 点 Register Your Application。 设置 记录 客户端 ID 、客户端 Secret 和密钥。 在 Red Hat build of Keycloak 中,将 Client Id 的值粘贴到 Client ID 字段中。 在红帽构建的 Keycloak 中,将 Client Secret 的值粘贴到 Client Secret 字段中。 在红帽构建的 Keycloak 中,将 Key 的值粘贴到 Key 字段中。 点击 Add。 9.4.13. Twitter复制链接链接已复制到粘贴板!先决条件 Twitter 开发人员帐户。 流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 Twitter。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在单独的浏览器选项卡中,在 Twitter 应用管理 中创建应用程序。 输入 App name 并点 Next。 请注意 API Key 和 API Key Secret 的值,再点 App settings。 在 User authentication settings 部分中,点 Set up 按钮。 选择 Web App 作为 App 的 Type。 将 Redirect URL 的值粘贴到 Callback URI / Redirect URL 字段中。 Website URL 的值可以是除 localhost 以外的任何有效的 URL。 单击 Save,然后单击 Done。 在 Red Hat build of Keycloak 中,将 API Key 的值粘贴到 Client ID 字段中。 在红帽构建的 Keycloak 中,将 API Key Secret 的值粘贴到 Client Secret 字段中。 点击 Add。 前一个下一个
社交身份提供程序可将身份验证委托给受信任、尊重的社交介质帐户。红帽构建的 Keycloak 包括对社交网络的支持,如 Google、Facebook、Twitter、GitHub、LinkedIn、Microsoft 和 Stack Overflow。
9.4.1. Bitbucket复制链接链接已复制到粘贴板!
要使用 Bitbucket 登录,请执行以下步骤。
流程
从 Add provider 列表中,选择 Bitbucket。
添加身份提供程序
在单独的浏览器选项卡中,在 Bitbucket 云进程上执行 OAuth。当您点 Add Consumer 时:
Key
的值粘贴到 Client ID 字段中。Secret
的值粘贴到 Client Secret 字段中。9.4.2. Facebook复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 Facebook。
添加身份提供程序
在单独的浏览器选项卡中,打开 Developers 的 Meta。
选择 Create App。
添加用例
选择 其他。
选择应用程序类型
选择 Consumer。
创建一个应用程序
点 Create app。然后,meta 带您进入仪表板。
添加产品
App
ID 和App Secret
值。红帽构建的 Keycloak 将配置集请求发送到
graph.facebook.com/me?fields=id,name,email,first_name,last_name
。响应仅包含 id, name, email, first_name, 和 last_name 字段。要从 Facebook 配置集中获取其他字段,请在Additional user profile 项项中添加相应
的范围并添加字段名称。9.4.3. GitHub复制链接链接已复制到粘贴板!
要使用 GitHub 登录,请执行以下步骤。
流程
从 Add provider 列表中,选择 Github。
添加身份提供程序
在单独的浏览器选项卡中,创建 OAUTH 应用。
Client ID
的值粘贴到 Client ID 字段中。Client secret
的值粘贴到 Client Secret 字段中。9.4.4. GitLab复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 GitLab。
添加身份提供程序
在单独的浏览器选项卡中,添加新的 GitLab 应用。
Application ID
的值粘贴到 Client ID 字段中。Secret
的值粘贴到 Client Secret 字段中。9.4.5. Google复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 Google。
添加身份提供程序
在 Google 仪表板中:
客户端 ID
的值粘贴到 Client ID 字段中。客户端 secret
的值粘贴到 Client Secret 字段中。9.4.6. Instagram复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 Instagram。
添加身份提供程序
在单独的浏览器选项卡中,打开 Developers 的 Meta。
选择 Create App。
添加用例
选择 其他。
选择应用程序类型
选择 Consumer。
创建一个应用程序
输入您的站点的 URL。
添加产品
单击 Create New App。
创建一个新的 Instagram App ID
在 Display name 字段中输入值。
设置应用程序
Instagram App ID
的值粘贴到 Client ID 字段中。Instagram App Secret
的值粘贴到 Client Secret 字段中。9.4.7. LinkedIn复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 LinkedIn。
添加身份提供程序
在单独的浏览器选项卡中,在 LinkedIn 开发人员门户创建一个应用程序。
Client ID
的值粘贴到 Client ID 字段中。Client Secret
的值粘贴到 Client Secret 字段中。9.4.8. Microsoft复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 Microsoft。
添加身份提供程序
在单独的浏览器选项卡中,在 App registrations 下 注册一个应用程序。
Application (client) ID
的值粘贴到 Client ID 字段中。Value
粘贴到 Client Secret 字段中。9.4.9. OpenShift 3复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 Openshift v3。
添加身份提供程序
使用
oc
命令行工具注册您的客户端。的名称
。在向 <openshift_master> /oauth/authorize 和 <openshift_master> /
。oauth/
token 发出请求时,作为client_id
request 参数传递client_
请求参数的 Keycloak 的 secret Red Hat build。secret
openshift_master>/oauth/authorize
和 <openshift_master> /oauth/token
的请求中指定的redirect_uri
参数必须等于redirectURIs
中的某一 URI (或作为前缀)。您可以从 Identity Provider 屏幕中的 Redirect URI 字段获取它grantMethod
Red Hat build of Keycloak 用来确定这个客户端请求令牌但没有被用户授予访问权限时的操作。9.4.10. OpenShift 4复制链接链接已复制到粘贴板!
先决条件
流程
输入 Client ID 和 Client Secret,并在 Base URL 字段中输入 OpenShift 4 实例的 API URL。另外,您可以将 Redirect URI 复制到您的剪贴板。
添加身份提供程序
通过 OpenShift 4 控制台(Home API Explorer OAuth Client Instances)或使用
oc
命令行工具注册您的客户端。的名称
。在向 <openshift_master> /oauth/authorize 和 <openshift_master> /
。oauth/
token 发出请求时,作为client_id
request 参数传递OAuthClient
对象中name
参数必须相同,红帽构建的 Keycloak 配置。secret
用作client_secret
请求参数。openshift_master>/oauth/authorize
和 <openshift_master> /oauth/token
的请求中指定的redirect_uri
参数必须等于redirectURIs
中的某一 URI (或作为前缀)。正确配置它的最简单方法是,从红帽构建的 Keycloak OpenShift 4 Identity Provider 配置页面(Redirect URI
字段)复制它。grantMethod
Red Hat build of Keycloak 用来确定这个客户端请求令牌但没有被用户授予访问权限时的操作。最后,您应该在红帽构建的 Keycloak 实例的登录页面上看到 OpenShift 4 身份提供程序。在单击它后,您应当重定向到 OpenShift 4 登录页面。
结果
如需更多信息,请参阅官方 OpenShift 文档。
9.4.11. PayPal复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 PayPal。
添加身份提供程序
在单独的浏览器选项卡中,打开 PayPal Developer 应用程序区域。
localhost
。如果要在本地使用红帽 Keycloak 构建,请将 返回 URL 中的localhost
替换为127.0.0.1
,然后在localhost
的浏览器中使用127.0.0.1
访问 Keycloak 的红帽构建。Client ID
的值粘贴到 Client ID 字段中。Secret 键 1
的值粘贴到 Client Secret 字段中。9.4.12. 堆栈溢出复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 Stack Overflow。
添加身份提供程序
在单独的浏览器选项卡中,登录 在 Stack Apps 上注册您的应用程序。
注册应用程序
点 Register Your Application。
设置
Client Id
的值粘贴到 Client ID 字段中。Client Secret
的值粘贴到 Client Secret 字段中。Key
的值粘贴到 Key 字段中。9.4.13. Twitter复制链接链接已复制到粘贴板!
先决条件
流程
从 Add provider 列表中,选择 Twitter。
添加身份提供程序
在单独的浏览器选项卡中,在 Twitter 应用管理 中创建应用程序。
localhost
以外的任何有效的 URL。API Key
的值粘贴到 Client ID 字段中。API Key Secret
的值粘贴到 Client Secret 字段中。