使用 Salesforce 作为 OAuth 2.0 认证提供商
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed
您可以将您的 GitLab 实例与 Salesforce 集成,以便用户可以使用他们的 Salesforce 账户登录到您的 GitLab 实例。
创建 Salesforce 连接的应用程序
要启用 Salesforce OmniAuth 提供商,您必须使用您的 GitLab 实例的 Salesforce 凭据。 要获取凭据(一对 Client ID 和 Client Secret),您必须在 Salesforce 上 创建一个连接的应用程序 (Connected App)。
-
登录到 Salesforce。
-
在“设置”中,在快速查找框中输入
App Manager,选择 应用管理器 (App Manager),然后选择 新建连接的应用程序 (New Connected App)。 -
在以下字段中填写应用程序详情:
- 连接的应用程序名称 (Connected App Name) 和 API 名称 (API Name):设置为任意值,但可以考虑类似
<组织名称> 的 GitLab、<您的姓名> 的 GitLab或其他描述性的名称。 - 联系邮箱 (Contact Email):输入 Salesforce 在联系您或您的支持团队时使用的联系邮箱。
- 描述 (Description):应用程序的描述。
- 连接的应用程序名称 (Connected App Name) 和 API 名称 (API Name):设置为任意值,但可以考虑类似
-
选择 API (启用 OAuth 设置),然后选择 启用 OAuth 设置。
-
在以下字段中填写应用程序详情:
- 回调 URL (Callback URL):您的 GitLab 安装的回调 URL。例如,
https://gitlab.example.com/users/auth/salesforce/callback。 - 选定的 OAuth 范围 (Selected OAuth Scopes):将
访问您的基本信息 (id, profile, email, address, phone)和允许访问您的唯一标识符 (openid)移动到右侧列。
- 回调 URL (Callback URL):您的 GitLab 安装的回调 URL。例如,
-
选择 保存。
-
在您的 GitLab 服务器上,打开配置文件。
对于 Linux 包安装:
sudo editor /etc/gitlab/gitlab.rb对于自行编译安装:
cd /home/git/gitlab sudo -u git -H editor config/gitlab.yml -
配置 通用设置 以将
salesforce添加为单点登录 (Single Sign-On) 提供商。这将为没有现有 GitLab 账户的用户启用即时账户配置。 -
添加提供商配置。
对于 Linux 包安装:
gitlab_rails['omniauth_providers'] = [ { name: "salesforce", # label: "Provider name", # 可选,用于登录按钮的标签,默认为 "Salesforce" app_id: "SALESFORCE_CLIENT_ID", app_secret: "SALESFORCE_CLIENT_SECRET" } ]对于自行编译安装:
- { name: 'salesforce', # label: 'Provider name', # 可选,用于登录按钮的标签,默认为 "Salesforce" app_id: 'SALESFORCE_CLIENT_ID', app_secret: 'SALESFORCE_CLIENT_SECRET' } -
将
SALESFORCE_CLIENT_ID更改为 Salesforce 连接应用程序页面中的消费者密钥 (Consumer Key)。 -
将
SALESFORCE_CLIENT_SECRET更改为 Salesforce 连接应用程序页面中的消费者机密 (Consumer Secret)。 -
保存配置文件。
-
使更改生效:
- 如果您使用 Linux 包安装,请 重新配置 GitLab。
- 如果您自行编译安装,请 重启 GitLab。
在登录页面上,常规登录表单下方现在应该会出现一个 Salesforce 图标。选择该图标以开始认证流程。Salesforce 会要求用户登录并授权 GitLab 应用。如果一切顺利,用户将被重定向回 GitLab 并成功登录。
GitLab 要求每个新用户提供电子邮件地址。用户使用 Salesforce 登录后,GitLab 会将用户重定向到其个人资料页面,用户必须在该页面提供并验证其电子邮件地址。