5
1

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 1 year has passed since last update.

KeyCloakでGitHub認証を設定する方法

Last updated at Posted at 2022-11-02

本稿ではKeyCloakでGitHub認証をセットアップする手順を解説します。

KeyCloakとは

KeyCloakはオープンソースの認証基盤です。ユーザーの登録やログインなど、ウェブアプリケーションでよく使うアカウント周りを、HTTPサーバーとして提供するマイクロサービス的なものです。KeyCloakは、GoogleアカウントやGitHubアカウントをはじめとした、複数の認証プロバイダーと連携することができ、いわゆるGitHub認証などをサクッと実現できるのも売りのひとつです。

KeyCloakでGitHub認証をセットアップする手順

KeyCloakの起動

まず、KeyCloakを立ち上げます。起動方法はいろいろありますが、Dockerを使うのが最も手軽で確実です。

docker run \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  -p 8080:8080 quay.io/keycloak/keycloak:18.0.2 start-dev

管理画面にログインする

起動したら、ブラウザでhttp://localhost:8080/を開きます。

開くと、次のようなKeyCloakのUIが表示されるので、「Administration Console」を開きます。

CleanShot 2022-11-01 at 17.14.01@2x.png

管理画面へのログイン画面が出るので、admin/adminでログインします。

CleanShot 2022-11-01 at 17.15.28@2x.png

レルムを作成する

「Add realm」ボタンをクリックし、レルム追加画面を出します。

CleanShot 2022-11-01 at 17.53.07@2x.png

「Name」フィールドにレルム名を入れます。なんでもいいですが、ここでは「myrealm」と入力します。入力したら「Create」ボタンを押します。

CleanShot 2022-11-01 at 17.54.52@2x.png

GitHubを認証プロバイダーに追加する

ログインできたら、ここからはGitHubを認証プロバイダーに追加する作業を行っていきます。

左のメニューの「Configuration」→「Identity Providers」を開きます。開いたら、「Add provider...」セレクトボックスから「GitHub」を選択します。

CleanShot 2022-11-01 at 17.56.28@2x.png

すると、「Add identity provider」という画面が表示されるので、そこに表示された「Redirect URI」の値をコピーしておきます。これは、GitHubでOAuth Appを作るときに使います。

CleanShot 2022-11-01 at 17.57.28@2x.png

この画面は開いたままにしておいてください。まだ「Save」しないでください。

GitHubにてOAuth Appを作成する

ここからは一旦KeyCloakは置いておいて、GitHub側でのOAuth Appを作っていきます。

次のURLを開き、

「New OAuth App」を開きます。

CleanShot 2022-11-01 at 17.23.28@2x.png

開いたら、次のフィールドを埋めます。

  • Application name: KeyCloakローカルテスト
  • Homepage URL: http://localhost:8080
  • Authorization callback URL: 上でコピーした「Redirect URI」をペーストする

CleanShot 2022-11-01 at 17.59.35@2x.png

上のフィールドを埋めたら、「Register application」をクリックします。

すると、OAuth Appが作成されるので、

  1. 「Client ID」の値を控えます。これは後でKeyCloak側に入力するのに使います。
  2. 「Generate a new client secret」ボタンを押して、「Client secrets」を生成します。

CleanShot 2022-11-01 at 17.32.27@2x.png

「Client secrets」が生成されたら、その値も控えておきます。

CleanShot 2022-11-01 at 17.36.04@2x.png

GitHubでの作業は以上で完了です。

KeyCloakのGitHub設定にClient IDなどを設定する

続いて、先程のKeyCloakの「Add identity provider」の画面に戻り、上の手順で得た

  • Client ID
  • Client Secret

を入力し、「Save」ボタンを押します。

CleanShot 2022-11-01 at 18.02.05@2x.png

関連

5
1
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
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?