OAuth 2.0認証プロバイダーとしてFacebookを使用します。

Facebook OmniAuthプロバイダを有効にするには、Facebookにアプリケーションを登録する必要があります。FacebookがアプリIDとシークレットキーを生成します。

  1. Facebook Developer Platformにサインインします。

  2. マイアプリ”>”新しいアプリを追加 “を選択します。

  3. “ウェブサイト “を選択

  4. アプリの名前を入力します。何でもかまいません。's GitLab" や "'s GitLab" など、わかりやすい名前にしましょう。

  5. Create New Facebook App ID” を選びます。

  6. カテゴリを選択します。例えば “Productivity”

  7. アプリIDの作成」を選択します。

  8. パッケージの下部にGitLabのインストールアドレスを入力します。

    Facebook Website URL

  9. Next” を選択してください。

  10. 右上の「クイックスタートをスキップ」を選択します。

  11. 左のメニューから「設定」を選択します。

  12. アプリの連絡先メールアドレスを入力してください。

    Facebook App Settings

  13. 変更を保存」を選択します。

  14. 左のメニューから「ステータスとレビュー」を選択します。

  15. 右側のスイッチを「いいえ」から「はい」に変更します。

  16. アプリ公開のプロンプトが表示されたら「Confirm」を選択します。

  17. 左のメニューから “ダッシュボード “を選択します。

  18. 非表示の “アプリシークレット “の横にある “表示 “を選択します。

  19. アプリキーとアプリシークレットが表示されます(スクリーンショット参照)。このページを開いたまま設定を続けてください。

    Facebook API Keys

  20. GitLab サーバーで設定ファイルを開きます。

    Linuxパッケージ・インストールの場合:

    sudo editor /etc/gitlab/gitlab.rb
    

    セルフコンパイルによるインストールの場合:

    cd /home/git/gitlab
       
    sudo -u git -H editor config/gitlab.yml
    
  21. 共通設定を構成して、シングルサインオンプロバイダとしてfacebook 。これにより、既存のGitLabアカウントを持っていないユーザーのためのJust-In-Timeアカウントプロビジョニングが可能になります。

  22. プロバイダー設定を追加します。

    Linuxパッケージ・インストールの場合:

    gitlab_rails['omniauth_providers'] = [
      {
        name: "facebook",
        # label: "Provider name", # optional label for login button, defaults to "Facebook"
        app_id: "YOUR_APP_ID",
        app_secret: "YOUR_APP_SECRET"
      }
    ]
    

    セルフコンパイルによるインストールの場合:

    - { name: 'facebook',
        # label: 'Provider name', # optional label for login button, defaults to "Facebook"
        app_id: 'YOUR_APP_ID',
        app_secret: 'YOUR_APP_SECRET' }
    
  23. YOUR_APP_ID’をステップ10のFacebookページのAPIキーに変更してください。

  24. YOUR_APP_SECRET’をステップ10のFacebookページのAPIシークレットに変更します。

  25. 設定ファイルを保存します。

  26. 変更を有効にするには

サインインページの通常のサインインフォームの下に Facebook のアイコンが表示されているはずです。アイコンを選択して認証プロセスを開始します。FacebookはユーザーにサインインとGitLabアプリケーションの作成を求めます。問題がなければ、ユーザーはGitLabに戻り、サインインします。