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 字段中。 确保您在 Account 部分中选择 Email and 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 使用 电子邮件 范围。有关站范围的更多信息,请参阅 Graph API。 红帽构建的 Keycloak 将配置集请求发送到 graph.facebook.com/me?fields=id,name,email,first_name,last_name。响应仅包含 id, name, email, first_name, 和 last_name 字段。要从 Tailoring 配置集获取其他字段,请添加对应的范围,并在 附加用户的配置集字段 配置选项字段中添加字段名称。 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 选项卡。 在 app 字段的 Authorized 重定向 URL 中输入 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 请求参数传递。 2 用于 client_ secret 请求参数的 Keycloak 的 secret Red Hat build。 3 对 < openshift_master> /oauth/authorize 和 & lt ;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 服务器以使用信任存储。如需更多信息 ,请参阅配置 Truststore 章节。 流程 单击菜单中的 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 请求参数传递。OAuthClient 对象中 name 参数必须相同,红帽构建的 Keycloak 配置。 2 红帽构建的 Keycloak 的 secret 用作 client_secret 请求参数。 3 对 < openshift_master> /oauth/authorize 和 & lt ;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复制链接链接已复制到粘贴板!先决条件 开发人员帐户 开发人员帐户。 流程 单击菜单中的 Identity Providers。 从 Add provider 列表中,选择 Twitter。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板。 在一个单独的浏览器选项卡中,在 合并 应用程序管理中创建应用程序。 输入 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 带您进入仪表板。
添加产品
AppID 和App Secret值。红帽构建的 Keycloak 将配置集请求发送到
graph.facebook.com/me?fields=id,name,email,first_name,last_name。响应仅包含 id, name, email, first_name, 和 last_name 字段。要从 Tailoring 配置集获取其他字段,请添加对应的范围,并在附加用户的配置集字段配置选项字段中添加字段名称。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请求参数传递client_请求参数的 Keycloak 的 secret Red Hat build。secretopenshift_master> /oauth/authorize 和 <openshift_master> /oauth/token的请求中指定的redirect_uri参数必须等于redirectURIs中的某一 URI。您可以从 Identity Provider 屏幕中的 Redirect URI 字段获取它grantMethodRed 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请求参数传递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字段)复制它。grantMethodRed 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。
添加身份提供程序
在一个单独的浏览器选项卡中,在 合并 应用程序管理中创建应用程序。
localhost以外的任何有效的 URL。API Key的值粘贴到 Client ID 字段中。API Key Secret的值粘贴到 Client Secret 字段中。