GitHub
GitHub OAuthをエールに追加するガイドです。
GitHub OAuthを追加すると、GitHubログインが有効になり、ダッシュボードユーザーは連携したGitHubアカウントのリポジトリを選択してサービスをデプロイできるようになります。
GitHub Appsの作成
GitHubにログインした後、Settings > Developer Settings > GitHub AppsページでNew GitHub Appをクリックすると、GitHub App作成プロセスが開始されます。
基本情報の入力
GitHub Appを作成するための情報を以下のように入力してください。
- GitHub App name : GitHub Appの名前
- Homepage URL
- GitHub OAuthを適用するホームページURL
- IngressでデプロイされたURLである
https://app.[ドメイン]
- Callback URL(
Add Callbak URL
で項目追加)https://app.[ドメイン]/api/oauth/github/callback
https://app.[ドメイン]/api/oauth/github/connect/callback
この画面で入力したGitHub App nameはエールにGitHub OAuth登録時に使用されます。
https://app.[ドメイン]/api/
はエールのAPIエンドポイントアドレスです。
Webhookの無効化
Webhook項目のActiveチェックを解除して無効化してください。
権限の付与とAPPの作成
Permission項目で以下の権限を付与し、
Create GitHub App
でAPPを作成します。
GitHub App情報の確認
エールにGitHub OAuthを追加するにはGitHub App Nameと4つのID・Keyが必要です。
- App ID
- Client ID
- Cleint Secret
- Private Key
App ID、Client IDの確認
権限付与後にAppが作成されると、App IDとClient IDを確認できます。
Client Secretの確認
同じ画面で
Generate a new client secret
をクリックしてClient Secretを確認します。
Private Keyの確認
画面下部の
Generate a private key
をクリックしてpemファイルをダウンロードします。
GitHub Appの公開設定
作成されたGitHub Appの公開設定のデフォルト値は非公開であり、Appを作成したアカウントが所属する組織のユーザーのみがGitHub Appを使用できるようになります。GitHub組織に関係なくGitHub Appを使用できるようにするには、以下をご参照ください。
エール運用システムへの登録
運用システムにアクセスし、設定 > 認証手段 > GitHubドロップダウンをクリックした後、前段階で確認した値を各フィールドに入力して
適用
をクリックしてください。
- ログイン使用 : OAuthログインの使用可否
- APP_NAME : GitHub App名
- APP_ID : App ID
- CLIENT_ID : Client ID
- CLIENT_SECRET : Client secret
- APP_PRIVATE_KEY: Private key pemファイルの値
適用完了後、ダッシュボードにアクセスするとGitHubアカウントでログインボタンが表示されます。
GitHubアカウントでログイン
ユーザーの最初のGitHubログイン時、
Authorize [GitHub App名]
をクリックすると登録申請が進められ、管理者承認に関するメッセージが表示されます。
登録申請したユーザーの承認(有効化)については、ユーザー管理ページをご参照ください。
ブラウザにログインされているGitHubアカウントがGitHub Appを作成したアカウントと同じ場合、上記のようなウィンドウは表示されません。 新しいブラウザセッションで、GitHub Appを作成したアカウントとは異なるGitHubアカウントで認証を進めてください。
GitHub Appを非公開に設定した場合、ログインしようとする他のアカウントがGitHub Appを作成したアカウントの組織に所属している必要があります。
管理者承認後にGitHubログインを試みると、登録完了ページが表示されます。 スペースと名前を適切に作成し、
完了
をクリックしてください。
ダッシュボードアクセスと共に指定した名前のスペースが作成され、運用システムで予め定めたデフォルト値のリソースが付与されます。
ユーザー登録および管理に関する内容はユーザー管理ページをご参照ください。