1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitLabの認証でGoogle OAuth2を利用

Last updated at Posted at 2021-08-16

概要

GCE:ubuntu 18.04 lts
GitLab: 14.1.2-ee

GitLabからGKEを作成しようとしたがGCPの認証を行ってからしてねとメッセージが出たので認証を行う

認証情報の作成

前提条件として事前にGCPのプロジェクトを作成済み
認証情報 > 認証情報を作成 > Oauth クライアントIDをクリック
image.png

以下のように情報を入力していく

承認済みのリダイレクト URIはGitLabが用意しているもので決まり事です、ドメインの部分は自身の環境に合わせたドメインにしてください
また、Google は生の IPアドレスを受け付けないので、ドメイン名を指定する必要があります。
image.png
作成を押すとクライアントIDとクライアントシークレットが表示される。
後で必要になるので、メモするかページを開いたままにしておく。(閉じても後で確認出来ます)

APIの有効化

以下の3つのAPIを有効化しておく必要がある

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

APIの有効化はGoogle API Consoleを開き該当APIを選択して、APIを有効にするをクリック

OAuth同意画面

パンくずリストっぽいものが表示され順番に入力していく

1. OAuth 同意画面

アプリ名:わかりやすい名前
ユーザーサポートメール:取り合えず自分のメールアドレス
デベロッパーの連絡先情報:取り合えず自分のメールアドレス

2. スコープ

現在では利用しないため入力なし

3. テストユーザー

公開ステータスをテストにしている場合、認証を認めるユーザーのユーザー情報(今回メールアドレス)を入力
上記入力しないと認証されない
cc.png

GitLabでの作業

GitLabを動作させてるマシンにログインし、設定を行う

sudo vi /etc/gitlab/gitlab.rb

よりOminiAuthを有効にする。

gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['google_oauth2']
gitlab_rails['omniauth_external_providers'] = ['google_oauth2']
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_providers'] = [
  {
    "name" => "google_oauth2",
    "app_id" => "メモに残しているクライアントID",
    "app_secret" => "メモに残しているクライアントシークレット",
    "args" => { "access_type" => "offline", "approval_prompt" => '' }
  }
]

再設定を行う

sudo gitlab-ctl reconfigure

これで認証されるはず

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?