らくがきちょう

なんとなく

Keycloak と GitBucket で OpenID Connect の設定を行う

Keycloak と GitBucket 間を OpenID Connect で認証させる設定例をメモしておきます。

パラメータ

今回は以下のパラメータで設定していきます。 また、Keycloak 側は既に Realm / Client / User 設定がされているものとします。

Keycloak 側のパラメータ

項目
Realm members
Client ID gitbucket
Client Protocol openid-connect
Access Type confidential
Valid Redirect URIs https://gitbucket.example.com/signin/oidc

GitBucket 側のパラメータ

Issuer の値は https://[KEYCLOAK-FQDN]/auth/realms/[YOUR_REALM] のように入力します。 Client ID は Keycloak 上に定義した値に合わせます (今回は Keycloak 上で gitbucket と定義した為、GitBucket 上でも gitbucket になる)。 Client secret の値は Keycloak の Client 定義Credentials から取得します。

項目
Issuer https://keycloak.example.com/auth/realms/members
Client ID gitbucket
Client secret (Keycloak 上で確認)
Expected signature RS256

Step.1

画面右上の Sign in をクリックします。

f:id:sig9:20190720125634p:plain:w800

Step.2

管理ユーザ名とパスワードを入力し、管理者としてログインします (GitBucket インストール直後であれば root ユーザ)。

f:id:sig9:20190720125641p:plain:w800

Step.3

管理ユーザとしてログイン出来たら、画面右上のメニューから System administration をクリックします。

f:id:sig9:20190720125648p:plain:w800

Step.4

System settingsAuthentication の順にクリックします。

f:id:sig9:20190720125658p:plain:w800

Step.5

画面下部までスクロールすると OpenID Connect の設定欄があります OpenID Connect にチェックを入れ、必要なパラメータを入力していきます。

f:id:sig9:20190720125708p:plain:w800

Step.6

OpenID Connect の設定が完了したら、一度 Sing out をクリックし、サインアウトします。

f:id:sig9:20190720125716p:plain:w800

Step.7

再度、画面右上の Sign in をクリックし、サインイン画面へ進みます。

f:id:sig9:20190720125725p:plain:w800

Step.8

OpenID Connect を有効化した為、(当初は無かった) Sign in with OpenID Connect というボタンが表示されているので、これをクリックします。

f:id:sig9:20190720125737p:plain:w800

Step.9

Keycloak の認証画面へリダイレクトされます。 Keycloak 上に存在するユーザ名 / パスワードを入力し、Log In をクリックします。

f:id:sig9:20190720125746p:plain

Step.10

Keycloak 上のユーザで GitBucket へログイン出来れば、OpenID Connect による認証は成功です。

f:id:sig9:20190720125756p:plain:w800