CAS OmniAuth 提供商

要启用 CAS OmniAuth 提供商,您必须使用 CAS 实例注册您的应用程序。 这需要极狐GitLab 提供给 CAS 的服务 URL,应该类似于:https://gitlab.example.com:443/users/auth/cas3/callback?url。 默认情况下启用单点注销 (SLO) 处理,因此您只需为反向信道注销配置 CAS。

  1. 在您的极狐GitLab 服务器上,打开配置文件。

    对于 Omnibus 安装包:

    sudo editor /etc/gitlab/gitlab.rb
    

    对于源代码安装:

    cd /home/git/gitlab
    
    sudo -u git -H editor config/gitlab.yml
    
  2. 配置通用设置 以将 cas3 添加为单点登录提供商。这为没有现有极狐GitLab 账户的用户启用了即时账户配置。

  3. 添加提供商配置:

对于 Omnibus 软件包:

   gitlab_rails['omniauth_providers'] = [
     {
       name: "cas3",
       label: "Provider name", # optional label for login button, defaults to "Cas3"
       args: {
           url: "CAS_SERVER",
           login_url: "/CAS_PATH/login",
           service_validate_url: "/CAS_PATH/p3/serviceValidate",
           logout_url: "/CAS_PATH/logout"
       }
     }
   ]

对于源代码安装:

   - { name: 'cas3',
       label: 'Provider name', # optional label for login button, defaults to "Cas3"
       args: {
         url: 'CAS_SERVER',
         login_url: '/CAS_PATH/login',
         service_validate_url: '/CAS_PATH/p3/serviceValidate',
         logout_url: '/CAS_PATH/logout' } }
  1. 将 ‘CAS_PATH’ 更改为您的 CAS 实例的根目录(例如 cas)。

  2. 如果您的 CAS 实例不使用默认 TGC 生命周期,请至少将 cas3.session_duration 更新为当前 TGC 最大生命周期。要明确禁用 SLO,无论 CAS 设置如何,请将其设置为 0。

  3. 保存配置文件。

  4. 要使更改生效:

在登录页面上,登录表单中现在应该有一个 CAS 选项卡。