CAS OmniAuth プロバイダ

CASのOmniAuthプロバイダを有効にするには、CASインスタンスにアプリケーションを登録する必要があります。 これには、GitLabがCASに提供するサービスURLが必要です。https://gitlab.example.com:443/users/auth/cas3/callback?urlのようなものです。 デフォルトでは、SLOの処理が有効になっているので、バックチャネルログアウトのためだけにCASを設定する必要があります。

  1. GitLab サーバーで設定ファイルを開きます。

    オムニバス・パッケージ用:

    sudo editor /etc/gitlab/gitlab.rb
    

    ソースからのインストールの場合:

    cd /home/git/gitlab
    
    sudo -u git -H editor config/gitlab.yml
    
  2. 初期設定についてはOmniAuth の初期設定を参照してください。

  3. プロバイダの設定を追加します:

    オムニバス・パッケージ用:

    gitlab_rails['omniauth_providers'] = [
      {
          "name"=> "cas3",
          "label"=> "cas",
          "args"=> {
              "url"=> 'CAS_SERVER',
              "login_url"=> '/CAS_PATH/login',
              "service_validate_url"=> '/CAS_PATH/p3/serviceValidate',
              "logout_url"=> '/CAS_PATH/logout'
          }
      }
    ]
    

    ソースからのインストールの場合:

    - { name: 'cas3',
        label: 'cas',
        args: {
                url: 'CAS_SERVER',
                login_url: '/CAS_PATH/login',
                service_validate_url: '/CAS_PATH/p3/serviceValidate',
                logout_url: '/CAS_PATH/logout'} }
    
  4. CAS_PATH’をCASインスタンスのルート(例:cas)に変更します。

  5. CASインスタンスがデフォルトのTGCライフタイムを使用しない場合は、cas3.session_duration 、少なくとも現在のTGC最大ライフタイムに更新します。CASの設定に関係なくSLOを明示的に無効にするには、これを0に設定します。

  6. 設定ファイルを保存します。

  7. GitLabをOmnibus経由またはソースからインストールした場合は、変更を有効にするためにGitLabを再設定または再起動します。

サインインページのサインインフォームにCASタブがあるはずです。