搜索

9.4. 社交身份提供程序

download PDF

社交身份提供程序可以将身份验证委派给可信的社交媒体帐户。红帽单点登录包括支持社交网络,如 Google、Facebook、Twitter、GitHub、LinkedIn、Microsoft 和 Stack Overflow。

9.4.1. Bitbucket

要使用 Bitbucket 登录,请执行以下步骤。

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 Bitbucket

    添加身份提供程序

    Add Identity Provider

  3. Redirect URI 的值复制到您的剪贴板。
  4. 在一个单独的浏览器标签页中,在 Bitbucket 云进程上执行 OAuth。当您点击 Add Consumer 时:

    1. 重定向 URI 的值粘贴到 Callback URL 字段中。
    2. 确保您在 帐户 部分中选择 EmailRead,以允许您的应用程序阅读电子邮件。
  5. 请注意,创建消费者时的 KeySecret 值 Bitbucket 会显示。
  6. 在 Red Hat Single Sign-On 中,将 Key 的值粘贴到 Client ID 字段中。
  7. 在 Red Hat Single Sign-On 中,将 Secret 的值粘贴到 Client Secret 字段中。
  8. Save

9.4.2. Facebook

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 Facebook。Red Hat Single Sign-On 显示 Facebook 身份提供程序的配置页面。

    添加身份提供程序

    Add Identity Provider

  3. Redirect URI 的值复制到您的剪贴板。
  4. 在单独的浏览器选项卡中,按照 Facebook 开发人员指南 的说明在 Facebook 中创建项目和客户端。

    1. 确保您的应用程序是一个网站类型应用程序。
    2. 在 Facebook Website 设置块的 Site URL 中输入重定向 URI 的值。
    3. 确保该应用是公共的。
  5. 在 Red Hat Single Sign-On 的 Client IDClient Secret 字段中输入来自 Facebook 的 Client IDClient Secret 值。
  6. Default Scopes 字段中输入所需的范围。默认情况下,Red Hat Single Sign-On 使用 电子邮件 范围。有关 Facebook 范围的更多信息,请参阅 Graph API

Red Hat Single Sign-On 将配置集请求发送到 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 登录,请执行以下步骤。

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 Github

    添加身份提供程序

    Add Identity Provider

  3. Redirect URI 的值复制到您的剪贴板。
  4. 在一个单独的浏览器标签页中,创建 OAUTH app

    1. 在创建应用程序时,输入 Redirect URI 的值到 Authorization callback URL 字段。
    2. 请注意 OAUTH 应用管理页面中的客户端 ID 和客户端 secret。
  5. 在 Red Hat Single Sign-On 中,将 Client ID 的值粘贴到 Client ID 字段中。
  6. 在 Red Hat Single Sign-On 中,将 Client Secret 的值粘贴到 Client Secret 字段中。
  7. Save

9.4.4. GitLab

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 GitLab

    添加身份提供程序

    Add identity provider

  3. Redirect URI 的值复制到您的剪贴板。
  4. 在一个单独的浏览器选项卡中,添加新的 GitLab 应用程序

    1. 使用剪贴板中的 重定向 URI 作为 重定向 URI
    2. 保存应用程序时,记录下 Client IDClient Secret
  5. 在 Red Hat Single Sign-On 中,将 Client ID 的值粘贴到 Client ID 字段中。
  6. 在 Red Hat Single Sign-On 中,将 Client Secret 的值粘贴到 Client Secret 字段中。
  7. Save

9.4.5. Google

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 Google

    添加身份提供程序

    Add Identity Provider

  3. 在一个单独的浏览器选项卡中 ,打开 Google Cloud Platform 控制台
  4. 在 Google 应用的 Google 仪表板中,点 OAuth consent 屏幕 菜单。创建一个同意屏幕,确保用户类型同意屏幕是外部的。
  5. 在 Google 仪表板中:

    1. Credentials 菜单。
    2. 单击 CREATE CREDENTIALS - OAuth Client ID
    3. Application type 列表中,选择 Web 应用程序
    4. Create
    5. 记录 您的客户端 ID您的客户端 Secret
  6. 在 Red Hat Single Sign-On 中,将您的客户端 ID 的值粘贴到 Client ID 字段中。
  7. 在 Red Hat Single Sign-On 中,将您的 Client Secret 的值粘贴到 Client Secret 字段中。
  8. Default Scopes 字段中输入所需的范围。默认情况下,Red Hat Single Sign-On 使用以下范围: openid 配置集 电子邮件。如需 Google 范围列表,请参阅 OAuth Playground
  9. 若要仅限制您 GSuite 组织成员可以进行访问,在 Hosted Domain 字段中输入 G Suite 域。
  10. Save

9.4.6. LinkedIn

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 LinkedIn

    添加身份提供程序

    Add Identity Provider

  3. Redirect URI 的值复制到您的剪贴板。
  4. 在一个单独的浏览器标签页中,创建一个应用程序

    1. 创建应用程序后,点 Auth 选项卡。
    2. Authorized redirect URLs for your app 字段中输入 Redirect URI 的值。
    3. 记录 您的客户端 ID您的客户端 Secret
  5. 在 Red Hat Single Sign-On 中,将 Client ID 的值复制到 Client ID
  6. 在 Red Hat Single Sign-On 中,将 Client Secret 的值粘贴到 Client Secret 字段中。
  7. Save

9.4.7. Microsoft

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 Microsoft

    添加身份提供程序

    Add Identity Provider

  3. Redirect URI 的值复制到您的剪贴板。
  4. 在单独的浏览器选项卡中,创建一个 Microsoft 应用程序

    1. 单击 Add URL,将重定向 URL 添加到 Microsoft 应用。
    2. 请注意 应用程序 ID应用程序 Secret
  5. 在 Red Hat Single Sign-On 中,将 Application ID 的值粘贴到 Client ID 字段中。
  6. 在 Red Hat Single Sign-On 中,将 Application Secret 的值粘贴到 Client Secret 字段中。
  7. Save

9.4.8. OpenShift 3

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 Openshift

    添加身份提供程序

    Add Identity Provider

  3. Redirect URI 的值复制到您的剪贴板。
  4. 使用 oc 命令行工具注册您的客户端。

    $ oc create -f <(echo '
    kind: OAuthClient
    apiVersion: v1
    metadata:
     name: kc-client 1
    secret: "..." 2
    redirectURIs:
     - "http://www.example.com/" 3
    grantMethod: prompt 4
    ')
1
OAuth 客户端 的名称。在向 <openshift_master> /oauth/ authorize 和 <openshift_master> / oauth/ token 发出请求时传递为 client_ id request 参数。
2
Red Hat Single Sign-On 用于 client_secret 请求参数的 secret
3
对 < openshift_master&gt; /oauth/authorize 和 & lt ;openshift_master&gt; /oauth/token 的请求中指定的 redirect_uri 参数必须等于 redirectURIs 中的某一 URI。您可以从身份提供程序屏幕中的 Redirect URI 字段获取它
4
grantMethod Red Hat Single Sign-On 使用 来确定当此客户端请求令牌但用户未授予访问权限时的操作。
  1. 在 Red Hat Single Sign-On 中,将 Client ID 的值复制到 Client ID
  2. 在 Red Hat Single Sign-On 中,将 Client Secret 的值粘贴到 Client Secret 字段中。
  3. Save

9.4.9. OpenShift 4

先决条件

  1. 安装 jq
  2. 在容器中配置的 X509_CA_BUNDLE,并设置为 /var/run/secrets/kubernetes.io/serviceaccount/ca.crt

流程

  1. 在命令行中运行以下命令并记录 OpenShift 4 API URL 输出。

    curl -s -k -H "Authorization: Bearer $(oc whoami -t)" \https://<openshift-user-facing-api-url>/apis/config.openshift.io/v1/infrastructures/cluster | jq ".status.apiServerURL"
  2. 在 Red Hat Single Sign-On 菜单中,单击 Identity Providers
  3. Add provider 列表中,选择 Openshift

    添加身份提供程序

    Add Identity Provider

  4. Redirect URI 的值复制到您的剪贴板。
  5. 使用 oc 命令行工具注册您的客户端。

    $ oc create -f <(echo '
    kind: OAuthClient
    apiVersion: oauth.openshift.io/v1
    metadata:
     name: keycloak-broker 1
    secret: "..." 2
    redirectURIs:
     - "<copy pasted Redirect URI from OpenShift 4 Identity Providers page>" 3
    grantMethod: prompt 4
    ')
1
OAuth 客户端 的名称。在向 <openshift_master> /oauth/ authorize 和 <openshift_master> / oauth/ token 发出请求时传递为 client_ id request 参数。name 参数在 OAuthClient 对象和 Red Hat Single Sign-On 配置中需要是相同的。
2
Red Hat Single Sign-On 用于 client_secret 请求参数的 secret
3
对 < openshift_master&gt; /oauth/authorize 和 & lt ;openshift_master&gt; /oauth/token 的请求中指定的 redirect_uri 参数必须等于 redirectURIs 中的某一 URI。正确配置的最简单方式是从 Red Hat Single Sign-On OpenShift 4 Identity Provider 配置页面(Redirect URI 字段)中复制并粘贴它。
4
grantMethod Red Hat Single Sign-On 使用 来确定当此客户端请求令牌但用户未授予访问权限时的操作。
  1. 在 Red Hat Single Sign-On 中,将 Client ID 的值复制到 Client ID
  2. 在 Red Hat Single Sign-On 中,将 Client Secret 的值粘贴到 Client Secret 字段中。
  3. Save

如需更多信息,请参阅 OpenShift 官方文档

9.4.10. PayPal

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表,选择 PayPal

    添加身份提供程序

    Add Identity Provider

  3. Redirect URI 的值复制到您的剪贴板。
  4. 在一个单独的浏览器选项卡中,打开 PayPal Developer 应用程序区域

    1. 点击 Create App 创建 PayPal 应用程序。
    2. 记下客户端 ID 和客户端 Secret。单击 Show 链接来查看 secret。
    3. 确保选中了 与 PayPal 连接
    4. 将 return URL 字段的值设置为 Red Hat Single Sign-On 中的 Redirect URI
  5. 在 Red Hat Single Sign-On 中,将 Client ID 的值复制到 Client ID
  6. 在 Red Hat Single Sign-On 中,将 Client Secret 的值粘贴到 Client Secret 字段中。
  7. Save

9.4.11. 堆栈溢出

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 Stack Overflow

    添加身份提供程序

    Add Identity Provider

  3. 在一个单独的浏览器选项卡中,在 Stack Apps 上注册您的应用程序

    注册应用程序

    Register Application

    1. Application Name 字段中输入应用程序名称。
    2. OAuth Domain 字段中,输入 OAuth 域。
    3. Register Your Application

      设置

      Settings

  4. 记下 客户端 ID 和客户端 Secret
  5. 在 Red Hat Single Sign-On 中,将 Client ID 的值复制到 Client ID
  6. 在 Red Hat Single Sign-On 中,将 Client Secret 的值粘贴到 Client Secret 字段中。
  7. Save

9.4.12. Twitter

先决条件

  1. Twitter 开发人员帐户。

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 Twitter

    添加身份提供程序

    Add Identity Provider

  3. Redirect URI 的值复制到您的剪贴板。
  4. 在单独的浏览器选项卡中,在 Twitter 应用管理中创建应用

    1. 为名称和描述输入任何值。
    2. Website 的值可以是除 localhost 外的任何有效 URL。
    3. 重定向 URL 的值粘贴到 Callback URL 字段中。
    4. 在创建 Twitter 应用时,记录下 Keys and Access Tokens 中的 Consumer KeyConsumer Secret 的值。
  5. 在 Red Hat Single Sign-On 中,将 Consumer Key 的值粘贴到 Client ID 字段中。
  6. 在 Red Hat Single Sign-On 中,将 Consumer Secret 的值粘贴到 Client Secret 字段中。
  7. Save

9.4.13. Instagram

流程

  1. 在菜单中,单击 Identity Providers
  2. Add provider 列表中,选择 Instagram。Red Hat Single Sign-On 显示 Instagram 身份提供程序的配置页面。

    添加身份提供程序

    Add Identity Provider

  3. Redirect URI 的值复制到您的剪贴板。
  4. 在一个单独的浏览器选项卡中,打开 Facebook 开发人员控制台

    1. My Apps
    2. 选择 Add a New App

      添加新应用程序

      Add a New App

    3. 选择 Forthing Else

      创建新应用程序 ID

      instagram create app id

    4. 填写所有必填字段。
    5. Create App。Facebook 然后将您带到仪表板。
    6. 在导航面板中,选择 Settings - Basic

      添加平台

      Add Platform

    7. 选择 + Add Platform
    8. 单击 [Website]
    9. 输入您站点的 URL。

      添加产品

      instagram add product

    10. 从菜单中选择 Dashboard
    11. 在 Instagram 框中点 Set Up
    12. 从菜单中选择 Instagram - Basic Display
    13. Create New App

      创建新的 Instagram 应用 ID

      Create a New Instagram App ID

    14. Display Name 中输入值。

      设置应用程序

      Setup the App

    15. 将来自 Red Hat Single Sign-On 的 Redirect URL 粘贴到 Valid OAuth Redirect URIs 字段中。
    16. 将来自 Red Hat Single Sign-On 的 Redirect URL 粘贴到 Deauthorize Callback URL 字段中。
    17. 将来自 Red Hat Single Sign-On 的 Redirect URL 粘贴到 Data Deletion Request URL 字段中。
    18. Instagram App Secret 字段中,单击 Show
    19. 请注意 Instagram App IDInstagram App Secret
    20. App Review - Requests
    21. 按照屏幕上的说明进行操作。
  5. 在 Red Hat Single Sign-On 中,将 Instagram App ID 的值粘贴到 Client ID 字段中。
  6. 在 Red Hat Single Sign-On 中,将 Instagram App Secret 的值粘贴到 Client Secret 字段中。
  7. Save
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.