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。 在 Red Hat build of Keycloak 中,将 Key 的值粘贴到 Client ID 字段中。 在 Red Hat build of 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 and Client Secret 字段中输入bookbook app 的 App ID 和 App Secret值。 点 添加 在 Default Scopes 字段中输入所需的范围。默认情况下,红帽构建的 Keycloak 使用 电子邮件 范围。有关 Facebook 范围的更多信息,请参阅 Graph API。 Red Hat build of Keycloak 将配置集请求发送到 graph.facebook.com/me?fields=id,name,email,first_name,last_name。响应仅包含 id、name、mail、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。 在保存应用程序时,请注意 Application ID 和 Secret。 在 Red Hat build of Keycloak 中,将 Application ID 的值粘贴到 Client ID 字段中。 在 Red Hat build of 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 屏幕 选项。创建同意屏幕,确保同意屏幕的用户类型是 External。 在 Google 仪表板中: 点 Credentials 菜单。 单击 CREATE CREDENTIALS - OAuth Client ID。 从 Application type 列表中,选择 Web application。 使用剪贴板中的 Redirect URI 作为 Authorized 重定向 URI 点 Create。 记录 您的客户端 ID 和 您的客户端 secret。 在 Red Hat build of Keycloak 中,将您的 客户端 ID 的值粘贴到 Client ID 字段中。 在 Red Hat build of Keycloak 中,将您的 Client secret 的值粘贴到 Client Secret 字段中。 点 添加 在 Default Scopes 字段中输入所需的范围。默认情况下,Red Hat build of Keycloak 使用以下范围: openid profile email。有关 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 应用程序 ID 在 Display name 字段中输入值。 设置应用程序 将红帽构建的 Keycloak 中的 重定向 URL 粘贴到 Valid OAuth Redirect URIs 字段中。 将红帽构建的 Keycloak 中的 Redirect URL 粘贴到 Deauthorize Callback URL 字段中。 将红帽构建的 Keycloak 中的 重定向 URL 粘贴到 Data Deletion Request URL 字段中。 点 Instagram App Secret 字段中的 Show。 请注意 Instagram App ID 和 Instagram App Secret。 点 App Review - Requests。 按照屏幕上的说明进行操作。 在 Red Hat build of Keycloak 中,将 Instagram App ID 的值粘贴到 Client ID 字段中。 在 Red Hat build of Keycloak 中,将 Instagram App Secret 的值粘贴到 Client Secret 字段中。 点击 Add。 9.4.7. LinkedIn复制链接链接已复制到粘贴板!流程 在菜单中,单击 Identity Providers。 从 Add provider 列表中,选择 LinkedIn。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板中。 在一个单独的浏览器选项卡中,在 LinkedIn 开发人员门户中创建应用程序。https://developer.linkedin.com 创建应用程序后,点 Auth 选项卡。 在 Authorized redirect URLs for your app 字段中输入 Redirect URI 的值。 记录 您的客户端 ID 和 您的客户端 Secret。 单击 Products 选项卡,以及对 带有 OpenID Connect 产品的 LinkedIn 的 Sign In 的 Request 访问权限。 在 Red Hat build of Keycloak 中,将 Client ID 的值粘贴到 Client ID 字段中。 在 Red Hat build of Keycloak 中,将 Client Secret 的值粘贴到 Client Secret 字段中。 点击 Add。 9.4.8. Microsoft复制链接链接已复制到粘贴板!流程 在菜单中,单击 Identity Providers。 从 Add provider 列表中,选择 Microsoft。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板中。 在单独的浏览器选项卡中,在 Microsoft Azure 上注册应用程序 。 在 Redirect URI 部分中,选择 Web 作为平台,并将 Redirect URI 的值粘贴到字段中。 在 App registrations 下找到应用程序,并在 Certificates & secrets 部分添加新的客户端 secret。 请注意所创建的 secret 的 Value。 请注意 Overview 部分中的 应用程序(客户端)ID。 在 Red Hat build of Keycloak 中,将 Application (client) ID 的值粘贴到 Client ID 字段中。 在 Red Hat build of Keycloak 中,将 secret 的值粘贴到 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 构建。 3 对 < openshift_master>/oauth/authorize 和 < openshift_master>/oauth/token 的请求中指定的 redirect_uri 参数必须等于 redirectURIs 中的一个 URI (或以前缀为前缀)。您可以从身份提供程序屏幕中的 Redirect URI 字段获取它 4 Keycloak 的 grantMethod 红帽构建用来决定当此客户端请求令牌,但没有授予用户访问权限时的操作。 在 Red Hat build of Keycloak 中,将 Client ID 的值粘贴到 Client ID 字段中。 在 Red Hat build of 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 Console (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 参数。name 参数在 OAuthClient 对象中必须相同,红帽构建的 Keycloak 配置。 2 Keycloak 的 secret Red Hat build 使用作为 client_secret 请求参数。 3 对 < openshift_master>/oauth/authorize 和 < openshift_master>/oauth/token 的请求中指定的 redirect_uri 参数必须等于 redirectURIs 中的一个 URI (或以前缀为前缀)。正确配置它的最简单方法是,将其从 Keycloak OpenShift 4 身份提供程序配置页面(Redirect URI 字段)的 Red Hat build 中复制。 4 Keycloak 的 grantMethod 红帽构建用来决定当此客户端请求令牌,但没有授予用户访问权限时的操作。 在最后,您应该在红帽构建的 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。 在 Log in with PayPal 下,单击 Advanced Settings。 将 returned URL 字段的值设置为 来自红帽构建的 Keycloak 的 Redirect URI 的值。请注意,URL 不包含 localhost。如果要在本地使用红帽构建的 Keycloak,请将 返回 URL 中的 localhost 替换为 127.0.0.1,然后在浏览器中使用 127.0.0.1 访问 Red Hat build of Keycloak,而不是 localhost。 确保选中 Full Name 和 Email 字段。 单击 Save,然后 Save Changes。 在 Red Hat build of Keycloak 中,将 Client ID 的值粘贴到 Client ID 字段中。 在 Red Hat build of Keycloak 中,将 Secret key 1 的值粘贴到 Client Secret 字段中。 点击 Add。 9.4.12. 堆栈溢出复制链接链接已复制到粘贴板!流程 在菜单中,单击 Identity Providers。 从 Add provider 列表中,选择 Stack Overflow。 添加身份提供程序 在单独的浏览器选项卡中,在 Stack Apps 上登录注册您的应用程序。 注册应用程序 在 Application Name 字段中输入应用程序名称。 在 OAuth Domain 字段中输入 OAuth 域。 点 Register your Application。 设置 注意 Client Id、Client Secret 和 Key。 在 Red Hat build of Keycloak 中,将 Client Id 的值粘贴到 Client ID 字段中。 在 Red Hat build of Keycloak 中,将 Client Secret 的值粘贴到 Client Secret 字段中。 在 Red Hat build of Keycloak 中,将 Key 的值粘贴到 Key 字段中。 点击 Add。 9.4.13. Twitter复制链接链接已复制到粘贴板!先决条件 OBC 开发人员帐户。 流程 在菜单中,单击 Identity Providers。 从 Add provider 列表中,选择 OBC。 添加身份提供程序 将 Redirect URI 的值复制到您的剪贴板中。 在单独的浏览器选项卡中,在 1/1 Application Management 中创建一个应用程序。 输入 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 字段中。 在 Red Hat build of 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
值。Red Hat build of Keycloak 将配置集请求发送到
graph.facebook.com/me?fields=id,name,email,first_name,last_name
。响应仅包含 id、name、mail、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 字段中。Client secret
的值粘贴到 Client Secret 字段中。9.4.6. Instagram复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 Instagram。
添加身份提供程序
在单独的浏览器选项卡中,打开 Developers 的 Meta。
选择 Create App。
添加用例
选择 其他。
选择应用程序类型
选择 Consumer。
创建应用程序
输入您的站点的 URL。
添加产品
单击 Create New App。
创建新的 Instagram 应用程序 ID
在 Display name 字段中输入值。
设置应用程序
Instagram App ID
的值粘贴到 Client ID 字段中。Instagram App Secret
的值粘贴到 Client Secret 字段中。9.4.7. LinkedIn复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 LinkedIn。
添加身份提供程序
在一个单独的浏览器选项卡中,在 LinkedIn 开发人员门户中创建应用程序。https://developer.linkedin.com
Client ID
的值粘贴到 Client ID 字段中。Client Secret
的值粘贴到 Client Secret 字段中。9.4.8. Microsoft复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 Microsoft。
添加身份提供程序
在单独的浏览器选项卡中,在 Microsoft Azure 上注册应用程序 。
Application (client) ID
的值粘贴到 Client ID 字段中。9.4.9. OpenShift 3复制链接链接已复制到粘贴板!
流程
在 Add provider 列表中,选择 Openshift v3。
添加身份提供程序
使用
oc
命令行工具注册您的客户端。的名称
。在向 <openshift_master> /oauth/authorize 和 <openshift_master> /
request 参数。oauth/
token 发出请求时,传递为client_
idclient_
请求参数的 Keycloak 的 secret Red Hat 构建。secret
openshift_master>/oauth/authorize
和 <openshift_master>/oauth/token
的请求中指定的redirect_uri
参数必须等于redirectURIs
中的一个 URI (或以前缀为前缀)。您可以从身份提供程序屏幕中的 Redirect URI 字段获取它grantMethod
红帽构建用来决定当此客户端请求令牌,但没有授予用户访问权限时的操作。9.4.10. OpenShift 4复制链接链接已复制到粘贴板!
先决条件
流程
输入 Client ID 和 Client Secret,然后在 Base URL 字段中输入 OpenShift 4 实例的 API URL。另外,您可以将 Redirect URI 复制到您的剪贴板。
添加身份提供程序
通过 OpenShift 4 Console (Home API Explorer OAuth Client Instances)注册您的客户端,或使用
oc
命令行工具注册您的客户端。的名称
。在向 <openshift_master> /oauth/authorize 和 <openshift_master> /
request 参数。oauth/
token 发出请求时,传递为client_
idname
参数在OAuthClient
对象中必须相同,红帽构建的 Keycloak 配置。secret
Red Hat build 使用作为client_secret
请求参数。openshift_master>/oauth/authorize
和 <openshift_master>/oauth/token
的请求中指定的redirect_uri
参数必须等于redirectURIs
中的一个 URI (或以前缀为前缀)。正确配置它的最简单方法是,将其从 Keycloak OpenShift 4 身份提供程序配置页面(Redirect URI
字段)的 Red Hat build 中复制。grantMethod
红帽构建用来决定当此客户端请求令牌,但没有授予用户访问权限时的操作。在最后,您应该在红帽构建的 Keycloak 实例的登录页面上看到 OpenShift 4 身份提供程序。点击它后,您应该重定向到 OpenShift 4 登录页面。
结果
如需更多信息,请参阅官方 OpenShift 文档。
9.4.11. PayPal复制链接链接已复制到粘贴板!
流程
从 Add provider 列表中,选择 PayPal。
添加身份提供程序
在单独的浏览器选项卡中,打开 PayPal Developer 应用程序区域。
localhost
。如果要在本地使用红帽构建的 Keycloak,请将 返回 URL 中的localhost
替换为127.0.0.1
,然后在浏览器中使用127.0.0.1
访问 Red Hat build of Keycloak,而不是localhost
。Client ID
的值粘贴到 Client ID 字段中。Secret key 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 列表中,选择 OBC。
添加身份提供程序
在单独的浏览器选项卡中,在 1/1 Application Management 中创建一个应用程序。
localhost
外的任何有效 URL。API Key
的值粘贴到 Client ID 字段中。API Key Secret
的值粘贴到 Client Secret 字段中。