GitLab11.3.9 使用 Crowd3.3.2 的帐号实现 SSO 单点登录,以及GitLab配置腾讯企业邮箱

GitLab11.3.9 使用 Crowd3.3.2 的帐号实现 SSO 单点登录,以及GitLab配置腾讯企业邮箱

  GitLab11.3.9 的安装方法: 点击查看
  Crowd3.3.2 的安装方法:点击查看

  需要先在 Crowd 创建应用程序,参考 <Docker 创建 Crowd3.3.2 以及打通 Jira Software7.12.3和Confluence6.12.2 SSO 单点登录> 中的 4.12章节,在 Application type 选择 Generic Application, Description 输入Gitlab ApplicatonName 输入 gitlabPassword 输入 123456,然后点击 Next,其他步骤参考 4.12章节
  gitlab-1

  GitLabCrowd 打通需要修改 gitlab.rb
  修改后的内容如下:

external_url 'http://localhost/'
gitlab_rails['initial_root_password'] = File.read('/run/secrets/gitlab_root_password')

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "test@mshk.top"
gitlab_rails['smtp_password'] = "email password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'test@mshk.top'
gitlab_rails['smtp_domain'] = "exmail.qq.com"


gitlab_rails['omniauth_enabled'] = true 
gitlab_rails['omniauth_allow_single_sign_on'] = true 
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_providers'] = [
     {
       "name" => "crowd",
       "args" => {
         "crowd_server_url" => "http://crowd.mshk.top/crowd",
         "application_name" => "gitlab",
         "application_password" => "123456"
       }
     }
   ]

crowd_server_url修改成你的 Crowd 地址

  
  修改以后,进行到容器中执行命令进行重置配置,并重启 gitlab 服务:

$ gitlab-ctl reconfigure && gitlab-ctl stop && gitlab-ctl start

  重启以后,就可以使用 Crowd 中配置的帐号,进行登录。


博文作者:迦壹
博客地址:GitLab11.3.9 使用 Crowd3.3.2 的帐号实现 SSO 单点登录,以及GitLab配置腾讯企业邮箱
转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作!


4 thoughts on “GitLab11.3.9 使用 Crowd3.3.2 的帐号实现 SSO 单点登录,以及GitLab配置腾讯企业邮箱

  1. 哈哈,又是我
    这个是实现了认证登录,但是不能像他们同一家的其它产品那样实现SSO吧,还是需要输一次用户名和密码才行,不知道博主实现了登录jira或者confluence后,打开gitlab无需登录直接能进系统么?(先明确Sign out)

    1. 最近有些忙,没有时间来看博客。gitlab如果是在同一个域下也能够实现登录的,不过因为不是一个公司的产品,登录失效的时间不好确定。

      1. 我都是同一个域的,但是不能自动登录,还需要输入用户名和密码。
        最近Jenkins集成Crowd却是另外的情况,先登录Jira等之后,要两次输入jenkins的首页地址才能自动登录,如果只是在登录页面刷新是无效的,所以我修改了了登录页,加了个首页连接,点两次就能自动登录了。
        但是gitlab就是无法自动实现,不管是刷新还是从根域名进。
        即使配置了只保留crowd登录,而不显示standard登录也不行:Sign-in restrictions里unchecked下面这个
        Password authentication enabled for web interface

        会不会和我使用了443端口和Let’s的证书有关系呢?

        1. Gitlab、Jenkins、Crowd不是一个公司的产品,目前可以实现一套帐号登录,但在跨产品保留登录状态我也没有做太深的研究。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注