Altassian Crowd와 연동

1. omniauth_provider 설정

$ vi /etc/gitlab/gitlab.rb ### OmniAuth Settings ###! Docs: https://docs.gitlab.com/ce/integration/omniauth.html gitlab_rails['omniauth_enabled'] = true gitlab_rails['omniauth_allow_single_sign_on'] = ['crowd'] # gitlab_rails['omniauth_sync_email_from_provider'] = 'saml' # gitlab_rails['omniauth_sync_profile_from_provider'] = ['saml'] # gitlab_rails['omniauth_sync_profile_attributes'] = ['email'] # gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'saml' gitlab_rails['omniauth_block_auto_created_users'] = true # gitlab_rails['omniauth_auto_link_ldap_user'] = false # gitlab_rails['omniauth_auto_link_saml_user'] = false # gitlab_rails['omniauth_external_providers'] = ['twitter', 'google_oauth2'] # gitlab_rails['omniauth_providers'] = [ # { # "name" => "google_oauth2", # "app_id" => "YOUR APP ID", # "app_secret" => "YOUR APP SECRET", # "args" => { "access_type" => "offline", "approval_prompt" => "" } # } # ] gitlab_rails['omniauth_providers'] = [ { "name" => "crowd", "args" => { "crowd_server_url" => "http://crowd.twoseed.co.kr/crowd", "application_name" => "<CROWD-APP-NAME>", "application_password" => "<CROWD-APP-PASSWORD>" } } ]

2. Gitlab 재구성

$ sudo gitlab-ctl reconfigure

3. Crowd 로그인 화면 확인

4. Troubleshooting

  • Crowd 로그인 시 아래 에러 발생

Crowd Application의 Remote Addresses에 Gitlab의 IP 또는 Crowd 로그파일에서 접속중인 IP 확인하여 등록

 

  • Crowd 로그인 시 500 에러 발생
    Admin > Settings > General > Sign-up restrictions > Allowed domains for sign-ups에 메일 도메인 추가