メインコンテンツまでスキップ

Microsoftを利用してOAuth認証によるSSOを実装する

KurocoをOAuthサービスプロバイダーとして使用し、Microsoftを利用したSSOを実装する方法について説明します。

備考

本チュートリアルは、任意のMicrosoftユーザーがKurocoにログイン/登録できるようにする、OAuth認証を利用した実装を説明するものです。
Active Directory B2Cを使用したユーザーフロー制御SSOについては、IDaaSを使用してAzure Active Directory (AD) B2C SSOを実装するを参照してください。

前提条件

Microsoftアカウントを所持していることが前提となります。

Kuroco管理画面でSP設定を追加

まず、Kurocoの管理画面でOAuth SP設定を追加します。

1. SSO OAuth SP設定ページにアクセスする
OAuth SP一覧に遷移し、[Add]ボタンをクリックして新しいサービスプロバイダーを追加します。

Image (fetched from Gyazo)

2. SP設定を追加する
SSO OAuth SP編集ページで以下を入力し、[追加]ボタンをクリックします。

項目
OAuth SPの名称任意の名前。これは内部参照用であり、Microsoft側と一致する必要はありません。
有効チェックを外す
ターゲットドメインユースケースに応じてAPIアクセス用または管理パネルへのログインを許可するためのものです。このチュートリアルでは管理画面を設定します。
タイプMicrosoft IDを選択。
ユーザーの自動登録新規アカウントを許可するかどうかに応じてチェックボックスを選択します。このチュートリアルではチェックします。
登録時に設定するグループ登録時に割り当てられるユーザーグループ。このチュートリアルでは、Administratorを設定します。
危険

新規メンバーに管理者グループを使用すると、意図しないメンバーがサインアップして管理者権限を得るリスクがあります。実際の運用時には、新規ユーザー登録を無効にするか、より制限された権限のグループを選択することをお勧めします。

Image (fetched from Gyazo)

2. ログインURLをコピーする
設定の追加後、追加したサービスプロバイダー名をクリックして、SSO OAuth SP編集画面を開き、ログインURLをコピーします。このURLはMicrosoftポータルでの設定に利用します。

Image (fetched from Gyazo)

Microsoftポータル設定

次に、Microsoft AzureポータルまたはMicrosoft EntraポータルでOAuthアプリ登録と設定を行います。

  • 画面はMicrosoftの仕様によって変更される場合があります。

1. OAuthアプリケーション設定ページにアクセスする

Azureポータルでは、クイックアクセスもしくは検索から[Azure AD B2C]をクリックします。 Image (fetched from Gyazo) Image (fetched from Gyazo)

2. 新しいアプリケーションを作成する

Azureポータルでは、アプリ登録をクリックしてから、新規登録をクリックします。
Image (fetched from Gyazo) Image (fetched from Gyazo)

3. アプリケーション設定を入力する
これ以降のステップは、Microsoft AzureポータルとMicrosoft Entraポータルで同じです。
そのため、このチュートリアルでは、これ以降はMicrosoft Azureポータルのキャプチャで説明します。

設定に以下を入力して[登録]ボタンをクリックします。

項目
名前任意の名前。これはMicrosoftポータル内での内部参照用であり、Kurocoと一致する必要はありません。
サポートされるアカウントの種類このアプリケーションを使用するユーザーの種類に応じて選択します。このチュートリアルでは、すべてを許可します。
リダイレクトURI (ドロップダウン)Webを選択
リダイレクトURI (テキストフィールド)KurocoのSSO OAuth SP編集画面からコピーしたログインURLを貼り付け

Image from Gyazo

3. アプリケーション(クライアント)IDをコピーする
登録が成功した後、ダッシュボードからアプリケーション (クライアント) IDをコピーします。これは、KurocoのOAuth SP編集画面に設定します。 Image (fetched from Gyazo)

4. クライアントシークレットを作成する
[証明書とシークレット]をクリックしてから、[新しいクライアントシークレット]をクリックします。 Image (fetched from Gyazo)

5. シークレットの説明と有効期限を更新する
説明を入力し、有効期限を選択します。

注意

シークレットの有効期限が切れた後は、新しいシークレットを発行し、KurocoのOAuth SP編集画面に設定する必要があります。

データを入力した後、[追加]をクリックします。

Image (fetched from Gyazo)

6. シークレット値をコピーする
クライアントシークレットの登録に成功した後、ダッシュボードからシークレット値をコピーします。これは、KurocoのOAuth SP編集画面に設定します。

Image (fetched from Gyazo)

以上で、Microsoftダッシュボードでのステップは完了です。

Kuroco OAuth SP編集の設定

Microsoft OAuthアプリからコピーしたクライアントIDとクライアントシークレットをKuroco管理画面のOAuth SP編集画面に入力し、[更新]をクリックします。

項目
有効チェックを入れる
クライアントID (Client ID)ステップ4でコピーした[アプリケーション(クライアント)ID]の値
クライアントの秘密鍵 (Client Secret)ステップ6でコピーした[シークレット]の値

Image (fetched from Gyazo)

使用方法

作成されたOAuth SP画面を確認します。 SSO OAuth SPリスト画面で作成したSP設定の[ログインOAuth SP名]をクリックします。
Image (fetched from Gyazo)

[ログインURL]が表示されるので、 シークレットモードでURLを開きます。
Image (fetched from Gyazo)

または、タイプが管理パネルに設定されているので、管理パネルのログイン画面に移動し、外部ログインSSOの[外部アカウントでログイン]リストからSPを選択します。
Image (fetched from Gyazo)

Microsoftログイン画面に遷移し、SSOが使用できます。
Image (fetched from Gyazo)

アプリを通じて初めてログインする新規アカウントの場合、権限を求められます。
追加情報の登録が必要な場合は、カスタムのタイプを使用し、希望のスコープを追加することも可能です。

Image (fetched from Gyazo)


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。