본문 바로가기
공부/Open Source

[GitLab/helm] Google OAuth 붙여서 띄우기

by haejang 2024. 4. 15.
728x90
728x90

 

 

# 1. Google OAuth 2.0 Client 만들기

 

승인된 자바스크립트 원본 : GitLab 도메인

승인된 리디렉션 URI :

- {gitlab 도메인}/users/auth/google_oauth2/callback

- {gitlab 도메인}/-/google_api/auth/callback

 

# 2. Google OAuth Secret 추가

아쉽게도(?) GitLab 공식 helm chart는 시크릿을 value에 박아 넣음으로써 연동되는 그런 허술한 보안을 제공하지 않는다.

(내가 못찾은걸수도 있음)

그래서 따로 secret을 만들고, helm chart에선 해당 secret을 참조하도록 해줘야 한다. (참고로 나는 argocd multi source를 통해 같이 배포되도록 설정해 두었다)

apiVersion: v1
kind: Secret
metadata:
  name: gitlab-google-oauth2
stringData:
  provider: |
    name: google_oauth2
    label: Google
    app_id: '클라이언트 ID'
    app_secret: '클라이언트 보안 비밀번호'
    args:
      access_type: offline
      approval_prompt: ''

 

 

# 3. gitlab helm value 추가

upgradeCheck:
  enabled: false
global:
  edition: ce
  ingress:
    enabled: true
    configureCertmanager: false
    class: nginx
  hosts:
    domain: honglab.com
    gitlab:
      name: gitlab.honglab.com
      https: true
    registry:
      name: gl-registry.honglab.com
      https: true
    minio:
      name: gl-minio.honglab.com
      https: true
    kas:
      name: gl-kas.honglab.com
      https: true
  appConfig:
    omniauth:
      enabled: true
      # autoSignInWithProvider: google_oauth2
      blockAutoCreatedUsers: false
      allowSingleSignOn: ['google_oauth2']      
      providers:
        - secret: gitlab-google-oauth2

certmanager:
  install: false
nginx-ingress:
  enabled: false

 

 

 

Google Login이 가능해졌다.

참고로, 

  • upgradeCheck.enabled : argoCD에서 배포할 때 에러가 나서 false로 설정함
  • blockAutoCreateUsers (default : true) : 유저 자동 생성을 막는 옵션이다. 매번 승인해줄거 아니면 반드시 false로 설정하자.
  • autoSignInWithProvider : 다른 옵션 없이 바로 구글 로그인으로만 redirect하고 싶은 경우 사용 가능하다. 내 구글 유저를 Admin으로 설정한 후에 설정하자.

 

# 참조

 

 

끝!

 

 

 

728x90
728x90

댓글