【GitLab】 Google OAuth2 OmniAuth Provider를 사용하여 계정 관리를 간편하게 하세요

3927 단어 GSuiteOmniAuthGitLab
사내에서 Gsuite를 사용하는 환경에서 GitLab을 세웠지만 계정 관리가 번거롭기 때문에,
Google Oauth2를 사용하여 쉽게 관리하기로 결정했습니다.

참고:
htps : // / cs. 기 t b. 코 m/예/어서 g라치온/고오 gぇ. HTML

Google Api 측 설정



프로젝트 만들기
htps : // 이런. 로 ゔぇぺぺrs. 오, ぇ. 코 m/아피 s/

새 프로젝트에서 OAuth-Web-credentials 만들기


자격 증명 만들기

자격 증명 만들기 > Oauth 클라이언트 ID 선택


웹 애플리케이션을 선택하여 생성


자격 증명을 다음과 같이 설정
이름: GitLabCE

승인된 JavaScript 소스
URI:
htps : // 기트 b. 게. 네 t

승인된 리디렉션 URI
URI:
htps : // 기트 b. 게. 네 t / 우세 rs / 아우 th / 오오 g ぇ_ 오아 th2 /
htps : // 기트 b. 게. 네 t/-/오오gぇ_아피/아우 th/꺄l바 ck



발행되는 클라이언트 ID와 클라이언트 시크릿은 삼가해 둔다.

OAuth 동의 화면

조직 내에서 사용하기 위해 내부 선택



GitLab 측 설정



/etc/gitlab/gitlab.rb에서 OminiAuth를 활성화합니다.
### OmniAuth Settings
###! Docs: https://docs.gitlab.com/ee/integration/omniauth.html
gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['google_oauth2']
gitlab_rails['omniauth_external_providers'] = ['google_oauth2']
#  trueはブロック
gitlab_rails['omniauth_block_auto_created_users'] = false
# 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_allow_bypass_two_factor'] = ['google_oauth2']

gitlab_rails['omniauth_providers'] = [
  {
    "name" => "google_oauth2",
    "app_id" => "XXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com",
    "app_secret" => "XXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "args" => { "access_type" => "offline", "approval_prompt" => "" }
  }
]

설정 사용
$ gitlab-ctl reconfigure

로그인 화면에 다음이 표시되고 Gsuite의 로그인 화면으로 리디렉션되면 OK

좋은 웹페이지 즐겨찾기