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]ボタンをクリックして新しいサービスプロバイダーを追加します。
2. SP設定を追加する
SSO OAuth SP編集ページで以下を入力し、[追加]ボタンをクリックします。
項目 | 値 |
---|---|
OAuth SPの名称 | 任意の名前。これは内部参照用であり、Microsoft側と一致する必要はありません。 |
有効 | チェックを外す |
ターゲットドメイン | ユースケースに応じてAPIアクセス用または管理パネルへのログインを許可するためのものです。このチュートリアルでは管理画面を設定します。 |
タイプ | Microsoft IDを選択。 |
ユーザーの自動登録 | 新規アカウントを許可するかどうかに応じてチェックボックスを選択します。このチュートリアルではチェックします。 |
登録時に設定するグループ | 登録時に割り当てられるユーザーグループ。このチュートリアルでは、Administratorを設定します。 |
新規メンバーに管理者グループを使用すると、意図しないメンバーがサインアップして管理者権限を得るリスクがあります。実際の運用時には、新規ユーザー登録を無効にするか、より制限された権限のグループを選択することをお勧めします。
2. ログインURLをコピーする
設定の追加後、追加したサービスプロバイダー名をクリックして、SSO OAuth SP編集画面を開き、ログインURLをコピーします。このURLはMicrosoftポータルでの設定に利用します。
Microsoftポータル設定
次に、Microsoft AzureポータルまたはMicrosoft EntraポータルでOAuthアプリ登録と設定を行います。
- 画面はMicrosoftの仕様によって変更される場合があります。
1. OAuthアプリケーション設定ページにアクセスする
- Azureポータル
- Entraポータル
Azureポータルでは、クイックアクセスもしくは検索から[Azure AD B2C]をクリックします。
Entraポータルでは、サイドメニューもしくは検索から[アプリの登録]を選択します。
2. 新しいアプリケーションを作成する
- Azureポータル
- Entraポータル
Azureポータルでは、アプリ登録をクリックしてから、新規登録をクリックします。
Entraポータルでは、新規登録をクリックします。
3. アプリケーション設定を入力する
これ以降のステップは、Microsoft AzureポータルとMicrosoft Entraポータルで同じです。
そのため、このチュートリアルでは、これ以降はMicrosoft Azureポータルのキャプチャで説明します。
設定に以下を入力して[登録]ボタンをクリックします。
項目 | 値 |
---|---|
名前 | 任意の名前。これはMicrosoftポータル内での内部参照用であり、Kurocoと一致する必要はありません。 |
サポートされるアカウントの種類 | このアプリケーションを使用するユーザーの種類に応じて選択します。このチュートリアルでは、すべてを許可します。 |
リダイレクトURI (ドロップダウン) | Webを選択 |
リダイレクトURI (テキストフィールド) | KurocoのSSO OAuth SP編集画面からコピーしたログインURLを貼り付け |
3. アプリケーション(クライアント)IDをコピーする
登録が成功した後、ダッシュボードからアプリケーション (クライアント) IDをコピーします。これは、KurocoのOAuth SP編集画面に設定します。
4. クライアントシークレットを作成する
[証明書とシークレット]をクリックしてから、[新しいクライアントシークレット]をクリックします。
5. シークレットの説明と有効期限を更新する
説明を入力し、有効期限を選択します。
シークレットの有効期限が切れた後は、新しいシークレットを発行し、KurocoのOAuth SP編集画面に設定する必要があります。
データを入力した後、[追加]をクリックします。
6. シークレット値をコピーする
クライアントシークレットの登録に成功した後、ダッシュボードからシークレット値をコピーします。これは、KurocoのOAuth SP編集画面に設定します。
以上で、Microsoftダッシュボードでのステップは完了です。
Kuroco OAuth SP編集の設定
Microsoft OAuthアプリからコピーしたクライアントIDとクライアントシークレットをKuroco管理画面のOAuth SP編集画面に入力し、[更新]をクリックします。
項目 | 値 |
---|---|
有効 | チェックを入れる |
クライアントID (Client ID) | ステップ4でコピーした[アプリケーション(クライアント)ID]の値 |
クライアントの秘密鍵 (Client Secret) | ステップ6でコピーした[シークレット]の値 |
使用方法
作成されたOAuth SP画面を確認します。
SSO OAuth SPリスト画面で作成したSP設定の[ログインOAuth SP名]をクリックします。
[ログインURL]が表示されるので、 シークレットモードでURLを開きます。
または、タイプが管理パネルに設定されているので、管理パネルのログイン画面に移動し、外部ログインSSOの[外部アカウントでログイン]リストからSPを選択します。
Microsoftログイン画面に遷移し、SSOが使用できます。
アプリを通じて初めてログインする新規アカウントの場合、権限を求められます。
追加情報の登録が必要な場合は、カスタムのタイプを使用し、希望のスコープを追加することも可能です。
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。