前回の続きから、ログインに GitHub の OAuth2 を使う設定を行う。
前提
- OS: Windows 11 Pro 21H2 ビルド 22000.613
- Eclipse Che: 7.48.0-SNAPSHOT
- 前回の環境構築済み
GitHub で OAuth Apps の設定を行う
- GitHub の
Settings
->Developer settings
->OAuth Apps
->New OAuth App
ボタン押下 Register a new OAuth application
画面で必要事項を入力し、Register application
ボタン押下Application name
:Che
Homepage URL
:http://<CHE_DOMAIN>/
Authorization callback URL
:https://dex.<CHE_DOMAIN>/callback
- ※
<CHE_DOMAIN>
は、 chectl コマンドでデプロイした際に表示される Che のドメインを入力。
Generate a new client secret
ボタンを押下し、クライアントシークレットをメモ
GitHub ログインのための secret リソースを作成
まずは yaml を作成する。 今回は che-secret.yaml
として保存した
kind: Secret
apiVersion: v1
metadata:
name: github-oauth-config
namespace: eclipse-che
labels:
app.kubernetes.io/part-of: che.eclipse.org
app.kubernetes.io/component: oauth-scm-configuration
annotations:
che.eclipse.org/oauth-scm-server: github
type: Opaque
data:
id: <base64 でエンコードした GitHub Apps のクライアント ID>
secret: <base64 でエンコードした GitHub Apps のクライアントシークレット>
作成した yaml でリソースを作成する。
kubectl apply -f ./che-secret.yaml
GitHub ログインのための Dex の ConfigMap を作成
yaml を作成する。今回は dex.yaml
として保存した
apiVersion: v1
data:
config.yaml: |
issuer: https://dex.<CHE_DOMAIN>
storage:
type: kubernetes
config:
inCluster: true
web:
http: 0.0.0.0:5556
oauth2:
skipApprovalScreen: true
staticClients:
- id: eclipse-che
redirectURIs:
- 'https://<CHE_DOMAIN>/oauth/callback'
name: 'Eclipse Che'
secret: EclipseChe
connectors:
- type: github
id: github
name: GitHub
config:
clientID: <GitHub Apps のクライアント ID ※ base64 エンコードしていないもの>
clientSecret: <GitHub Apps のクライアントシークレット ※ base64 エンコードしていないもの>
redirectURI: https://dex.<CHE_DOMAIN>/callbackkind: ConfigMap
metadata:
labels:
app: dex
name: dex
namespace: dex
- ※
<CHE_DOMAIN>
は、 chectl コマンドでデプロイした際に表示される Che のドメインを入力。
作成した yaml でリソースを作成する。
kubectl apply -f ./dex.yaml -n dex
dex リスタート
リスタートすると、更新した Dex 設定と追加したシークレットを参照し、 GitHub ログインが行われるようになる。
kubectl rollout restart deployment/dex -n dex
0 件のコメント:
コメントを投稿