InfoGrab Docs

Google OAuth 2.0을 OAuth 2.0 인증 공급자로 사용

요약

Google OAuth 2.0 OmniAuth 공급자를 활성화하려면 Google에 애플리케이션을 등록해야 합니다. Google OAuth를 활성화하려면 다음을 구성해야 합니다: 목록에서 새 프로젝트를 보려면 페이지를 새로 고칩니다.

Google OAuth 2.0 OmniAuth 공급자를 활성화하려면 Google에 애플리케이션을 등록해야 합니다. Google은 사용할 클라이언트 ID와 비밀 키를 생성합니다.

Google OAuth를 활성화하려면 다음을 구성해야 합니다:

  • Google Cloud Resource Manager
  • Google API Console
  • GitLab 서버

Google Cloud Resource Manager 구성#

  1. Google Cloud Resource Manager로 이동합니다.
  2. CREATE PROJECT를 선택합니다.
  3. Project nameGitLab을 입력합니다.
  4. Project ID에서 Google은 기본적으로 무작위로 생성된 프로젝트 ID를 제공합니다. 이 무작위로 생성된 ID를 사용하거나 새 ID를 만들 수 있습니다. 새 ID를 만드는 경우 모든 Google Developer 등록 애플리케이션에서 고유해야 합니다.

목록에서 새 프로젝트를 보려면 페이지를 새로 고칩니다.

Google API Console 구성#

  1. Google API Console로 이동합니다.

  2. 왼쪽 상단 모서리에서 이전에 만든 프로젝트를 선택합니다.

  3. OAuth consent screen을 선택하고 필드를 작성합니다.

  4. Credentials > Create credentials > OAuth client ID를 선택합니다.

  5. 필드를 작성합니다:

    • Application type: Web application을 선택합니다.

    • Name: 기본 이름을 사용하거나 직접 입력합니다.

    • Authorized JavaScript origins: https://gitlab.example.com을 입력합니다.

    • Authorized redirect URIs: 도메인 이름 다음에 콜백 URI를 하나씩 입력합니다:

      https://gitlab.example.com/users/auth/google_oauth2/callback
      https://gitlab.example.com/-/google_api/auth/callback
      
  6. 클라이언트 ID와 클라이언트 비밀을 볼 수 있습니다. 나중에 필요하므로 기록해 두거나 이 페이지를 열어 두세요.

  7. 프로젝트가 Google Kubernetes Engine에 접근할 수 있도록 하려면 다음도 활성화해야 합니다:

    • Google Kubernetes Engine API
    • Cloud Resource Manager API
    • Cloud Billing API

    이를 위해:

    1. Google API Console로 이동합니다.
    2. 페이지 상단에서 ENABLE APIS AND SERVICES를 선택합니다.
    3. 앞에서 언급한 각 API를 찾습니다. API 페이지에서 ENABLE을 선택합니다. API가 완전히 작동하는 데 몇 분이 걸릴 수 있습니다.

GitLab 서버 구성#

  1. 구성 파일을 엽니다.

    Linux 패키지 설치의 경우:

    sudo editor /etc/gitlab/gitlab.rb
    

    소스 직접 컴파일 설치의 경우:

    cd /home/git/gitlab
    sudo -u git -H editor config/gitlab.yml
    
  2. 공통 설정을 구성하여 google_oauth2를 단일 로그인 공급자로 추가합니다. 이를 통해 기존 GitLab 계정이 없는 사용자에 대한 Just-In-Time 계정 프로비저닝이 활성화됩니다.

  3. 공급자 구성을 추가합니다.

    Linux 패키지 설치의 경우:

    gitlab_rails['omniauth_providers'] = [
      {
        name: "google_oauth2",
        # label: "Provider name", # optional label for login button, defaults to "Google"
        app_id: "",
        app_secret: "",
        args: { access_type: "offline", approval_prompt: "" }
      }
    ]
    

    소스 직접 컴파일 설치의 경우:

    - { name: 'google_oauth2',
        # label: 'Provider name', # optional label for login button, defaults to "Google"
        app_id: 'YOUR_APP_ID',
        app_secret: 'YOUR_APP_SECRET',
        args: { access_type: 'offline', approval_prompt: '' } }
    
  4. 를 Google Developer 페이지의 클라이언트 ID로 교체합니다.

  5. 를 Google Developer 페이지의 클라이언트 비밀로 교체합니다.

  6. Google은 원시 IP 주소를 허용하지 않으므로, GitLab이 완전히 정규화된 도메인 이름을 사용하도록 구성했는지 확인합니다.

    Linux 패키지 설치의 경우:

    external_url 'https://gitlab.example.com'
    

    소스 직접 컴파일 설치의 경우:

    gitlab:
      host: https://gitlab.example.com
    
  7. 구성 파일을 저장합니다.

  8. 변경 사항을 적용하려면:

로그인 페이지에 일반 로그인 양식 아래에 Google 아이콘이 나타납니다. 인증 프로세스를 시작하려면 아이콘을 선택합니다. Google은 사용자에게 GitLab 애플리케이션에 로그인하고 권한을 부여하도록 요청합니다. 모든 것이 잘 되면 사용자는 GitLab으로 돌아와 로그인됩니다.

Google OAuth 2.0을 OAuth 2.0 인증 공급자로 사용

Tier: Free, Premium, Ultimate
Offering: GitLab Self-Managed
원문 보기
요약

Google OAuth 2.0 OmniAuth 공급자를 활성화하려면 Google에 애플리케이션을 등록해야 합니다. Google OAuth를 활성화하려면 다음을 구성해야 합니다: 목록에서 새 프로젝트를 보려면 페이지를 새로 고칩니다.

Google OAuth 2.0 OmniAuth 공급자를 활성화하려면 Google에 애플리케이션을 등록해야 합니다. Google은 사용할 클라이언트 ID와 비밀 키를 생성합니다.

Google OAuth를 활성화하려면 다음을 구성해야 합니다:

  • Google Cloud Resource Manager
  • Google API Console
  • GitLab 서버

Google Cloud Resource Manager 구성#

  1. Google Cloud Resource Manager로 이동합니다.
  2. CREATE PROJECT를 선택합니다.
  3. Project nameGitLab을 입력합니다.
  4. Project ID에서 Google은 기본적으로 무작위로 생성된 프로젝트 ID를 제공합니다. 이 무작위로 생성된 ID를 사용하거나 새 ID를 만들 수 있습니다. 새 ID를 만드는 경우 모든 Google Developer 등록 애플리케이션에서 고유해야 합니다.

목록에서 새 프로젝트를 보려면 페이지를 새로 고칩니다.

Google API Console 구성#

  1. Google API Console로 이동합니다.

  2. 왼쪽 상단 모서리에서 이전에 만든 프로젝트를 선택합니다.

  3. OAuth consent screen을 선택하고 필드를 작성합니다.

  4. Credentials > Create credentials > OAuth client ID를 선택합니다.

  5. 필드를 작성합니다:

    • Application type: Web application을 선택합니다.

    • Name: 기본 이름을 사용하거나 직접 입력합니다.

    • Authorized JavaScript origins: https://gitlab.example.com을 입력합니다.

    • Authorized redirect URIs: 도메인 이름 다음에 콜백 URI를 하나씩 입력합니다:

      https://gitlab.example.com/users/auth/google_oauth2/callback
      https://gitlab.example.com/-/google_api/auth/callback
      
  6. 클라이언트 ID와 클라이언트 비밀을 볼 수 있습니다. 나중에 필요하므로 기록해 두거나 이 페이지를 열어 두세요.

  7. 프로젝트가 Google Kubernetes Engine에 접근할 수 있도록 하려면 다음도 활성화해야 합니다:

    • Google Kubernetes Engine API
    • Cloud Resource Manager API
    • Cloud Billing API

    이를 위해:

    1. Google API Console로 이동합니다.
    2. 페이지 상단에서 ENABLE APIS AND SERVICES를 선택합니다.
    3. 앞에서 언급한 각 API를 찾습니다. API 페이지에서 ENABLE을 선택합니다. API가 완전히 작동하는 데 몇 분이 걸릴 수 있습니다.

GitLab 서버 구성#

  1. 구성 파일을 엽니다.

    Linux 패키지 설치의 경우:

    sudo editor /etc/gitlab/gitlab.rb
    

    소스 직접 컴파일 설치의 경우:

    cd /home/git/gitlab
    sudo -u git -H editor config/gitlab.yml
    
  2. 공통 설정을 구성하여 google_oauth2를 단일 로그인 공급자로 추가합니다. 이를 통해 기존 GitLab 계정이 없는 사용자에 대한 Just-In-Time 계정 프로비저닝이 활성화됩니다.

  3. 공급자 구성을 추가합니다.

    Linux 패키지 설치의 경우:

    gitlab_rails['omniauth_providers'] = [
      {
        name: "google_oauth2",
        # label: "Provider name", # optional label for login button, defaults to "Google"
        app_id: "",
        app_secret: "",
        args: { access_type: "offline", approval_prompt: "" }
      }
    ]
    

    소스 직접 컴파일 설치의 경우:

    - { name: 'google_oauth2',
        # label: 'Provider name', # optional label for login button, defaults to "Google"
        app_id: 'YOUR_APP_ID',
        app_secret: 'YOUR_APP_SECRET',
        args: { access_type: 'offline', approval_prompt: '' } }
    
  4. 를 Google Developer 페이지의 클라이언트 ID로 교체합니다.

  5. 를 Google Developer 페이지의 클라이언트 비밀로 교체합니다.

  6. Google은 원시 IP 주소를 허용하지 않으므로, GitLab이 완전히 정규화된 도메인 이름을 사용하도록 구성했는지 확인합니다.

    Linux 패키지 설치의 경우:

    external_url 'https://gitlab.example.com'
    

    소스 직접 컴파일 설치의 경우:

    gitlab:
      host: https://gitlab.example.com
    
  7. 구성 파일을 저장합니다.

  8. 변경 사항을 적용하려면:

로그인 페이지에 일반 로그인 양식 아래에 Google 아이콘이 나타납니다. 인증 프로세스를 시작하려면 아이콘을 선택합니다. Google은 사용자에게 GitLab 애플리케이션에 로그인하고 권한을 부여하도록 요청합니다. 모든 것이 잘 되면 사용자는 GitLab으로 돌아와 로그인됩니다.