Okta SSO提供商
这是。单点登录提供商可以用来与GitLab进行身份验证。
下面的文档支持Okta作为SAML提供者。
配置Okta应用程序
- 在Okta上转到管理部分并选择to添加App。
- 当应用程序屏幕出现时,你会看到另一个按钮创建应用程序并在下一个屏幕上选择SAML 2.0。
- 现在,非常重要的是,添加一个标志(你可以选择)https://about.gitlab.com/press/)。你必须裁剪和调整大小。
接下来,您需要填充SAML常规配置。这里有一个例子。
配置的最后一部分是反馈部分,你可以说你是一个客户,正在创建一个内部使用的应用程序。
当你有了你的应用,你会在应用的配置文件顶部有几个标签。单击SAML 2.0配置说明按钮,如下所示:
在出现的屏幕上注意身份提供者单点登录URL你会用哪个
idp_sso_target_url
在您的GitLab配置文件中。在离开Okta之前,请确保添加了用户和组(如果有的话)。
现在Okta应用程序已经配置好了,是时候在GitLab中启用它了。
配置GitLab
在您的GitLab服务器上,打开配置文件:
用于Omnibus GitLab安装
sudo编辑/etc/gitlab/gitlab.rb
从源代码安装
cd/home/git/gitlabsudo- ugit- h编辑配置/ gitlab.yml
看到初始OmniAuth配置用于初始设置。
为了允许你的用户使用Okta来注册,而不必首先手动创建一个帐户,不要忘记在你的配置中添加以下值:
用于Omnibus GitLab安装
gitlab_rails[“omniauth_allow_single_sign_on”]=[saml的]gitlab_rails[“omniauth_block_auto_created_users”]=假
从源代码安装
allow_single_sign_on:[”saml”]block_auto_created_users:假
你也可以自动链接Okta用户与现有的GitLab用户,如果他们的电子邮件地址匹配添加以下设置:
用于Omnibus GitLab安装
gitlab_rails[“omniauth_auto_link_saml_user”]=真正的
从源代码安装
auto_link_saml_user:真正的
添加提供程序配置。
注:
- 更改的值
assertion_consumer_service_url
来匹配GitLab的HTTPS端点用户/认证/ saml /回调
到您的GitLab安装的HTTPS URL以生成正确的值)。 - 为了得到
idp_cert_fingerprint
指纹,首先从您注册的Okta应用程序下载证书,然后运行:Openssl x509 -in okta。Cert -noout -fingerprint
。替代okta.cert
您的证书的位置。 - 的值
idp_sso_target_url
,用的是价值身份提供者单点登录URL从配置Okta应用程序时的步骤中删除。 - 的值
发行人
到一个唯一的名称,该名称将向IdP标识应用程序。 - 离开
name_identifier_format
按原样。
用于Omnibus GitLab安装
gitlab_rails[“omniauth_providers”]=[{名称:saml的,参数:{assertion_consumer_service_url:“https://gitlab.example.com/users/auth/saml/callback”,idp_cert_fingerprint:“43:51:43:a1: b5: fc: 8 b: b7:0a: 3: a9: b1:0f: 66:73: a8的,idp_sso_target_url:“https://gitlab.oktapreview.com/app/gitlabdev773716_gitlabsaml_1/exk8odl81tBrjpD4B0h7/sso/saml”,发行机构:“https://gitlab.example.com”,name_identifier_format:“urn: oasis:名字:tc: SAML: 2.0: nameid-format:瞬态的},标签:“Okta”# SAML登录按钮的可选标签,默认为“SAML”}]
从源代码安装
-{名字:'saml的,arg游戏:{assertion_consumer_service_url:'https://gitlab.example.com/users/auth/saml/callback的,idp_cert_fingerprint:'43:51:43: a1: b5: fc: 8 b: b7:0a: 3: a9: b1:0f: 66:73: a8,idp_sso_target_url:'https://gitlab.oktapreview.com/app/gitlabdev773716_gitlabsaml_1/exk8odl81tBrjpD4B0h7/sso/saml的,发行人:'https://gitlab.example.com的,name_identifier_format:'urn: oasis:名字:tc: SAML 2.0: nameid-format:瞬态},标签:'Okta”# SAML登录按钮的可选标签,默认为“SAML”}
- 更改的值
您可能想在一个隐身浏览器窗口中尝试一下。
配置组
注意:确保组存在并分配给Okta应用程序。
你可以看看SAML文档在外部组,因为它的工作原理是一样的。