OpenID Connect プロバイダーを設定する

OpenID Connect の ID プロバイダーは、OpenID Connect の仕様に準拠したサービスです。 OpenID Connect では、ID トークン の概念を導入しています。 ID トークンは、クライアントがユーザーの ID を確認するセキュリティ トークンです。 また、要求 としても知られる、ユーザーの基本的なプロフィール情報を取得します。

OpenID Connect プロバイダー Azure AD B2CMicrosoft Entra ID複数テナントを持つ Microsoft Entra ID は、Power Pages に組み込まれています。 この記事では、他の OpenID Connect ID プロバイダーを Power Pages サイトに追加する方法について説明します。

Power Pages で対応している認証フローと対応していない認証フロー

  • 暗黙的な許可
    • このフローは、Power Pages サイトの既定の認証方法です。
  • 認証コード
    • Power Pages は client_secret_post メソッドを使用して、ID サーバーのトークン エンドポイントと通信します。
    • トークン エンドポイントで認証する private_key_jwt メソッドには対応していません。
  • ハイブリッド (制限付きサポート)
    • Power Pages では、レスポンスに id_token が存在する必要があるため、response_type = コード トークン はサポートされていません。
    • Power Pages のハイブリッド フローは、暗黙的な許可と同様のフローに従い、id_token を使用してユーザーに直接サインインします。
  • Proof Key for Code Exchange (PKCE)
    • ユーザーを認証するための PKCE ベースの技術に対応していません。

注意

サイトの認証設定の変更がサイトに反映されるまで、数分かかる場合 があります。 変更をすぐに確認するには、管理センター でサイトを再起動します。

Power Pages で OpenID Connect プロバイダーを設定する

  1. Power Pages サイトで、設定>ID プロバイダー を選択します。

    ID プロバイダーが表示されない場合は、使用しているサイトの 一般承認設定外部ログインオン に設定されているかを確認します。

  2. + 新規プロバイダー を選択します。

  3. ログイン プロバイダーの選択その他 を選択します。

  4. プロトコルOpenID Connect を選択します。

  5. プロバイダーの名前を入力します。

    プロバイダー名は、ユーザーがサインイン ページで ID プロバイダーを選択するときに表示されるボタンのテキストです。

  6. 次へを選択します。

  7. 返信 URL で、コピー を選択します。

    Power Pages ブラウザー タブを閉じないでください。すぐに元に戻ります。

ID プロバイダーでアプリ登録を作成する

  1. コピーした 返信 URL を使用して、ID プロバイダーにアプリケーションを作成して登録します。

  2. アプリケーションまたはクライアント ID とクライアント シークレットをコピーします。

  3. アプリケーションのエンドポイントを検索し、OpenID Connect メタデータ ドキュメント の URL をコピーします。

  4. ID プロバイダーの必要に応じて、他の設定を変更します。

Power Pages でサイト設定を入力する

先ほどの Power Pages の ID プロバイダーを構成する ページに戻り、次の値を入力します。 必要に応じて、追加の設定 を変更します。 完了後、確認 を選択します。

  • オーソリティ: 次の形式で オーソリティ URLを入力します: https://login.microsoftonline.com/<Directory (tenant) ID>/。ここで、<ディレクトリ (テナント) ID>作成した アプリケーションのディレクトリ (テナント) ID です。 たとえば、Azure portal のディレクトリ (テナント) ID が 7e6ea6c7-a751-4b0d-bbb0-8cf17fe85dbb の場合、オーソリティの URL は https://login.microsoftonline.com/7e6ea6c7-a751-4b0d-bbb0-8cf17fe85dbb/​ となります。

  • クライアント ID: 作成した アプリケーションのアプリケーションまたはクライアントの ID を貼り付けます。

  • リダイレクト URL: サイトでカスタム ドメイン名を使用している場合は、カスタム URL を入力します。それ以外の場合は、既定値のままにします。 値が作成したアプリケーションのリダイレクト URI と完全に同じであることを確認してください。

  • メタデータ アドレス: コピーした OpenID Connect メタデータ ドキュメント URL を貼り付けます。

  • スコープ: OpenID Connect scope パラメーターを使用して、リクエストするスコープのスペース区切りのリストを入力します。 既定値は openid です。

    openid の値は必須です。 追加できるその他の要求について説明します

  • 応答の種類: OpenID Connect の response_type パラメーターの値を入力します。 使用可能な値には、codecode id_tokenid_tokenid_token tokencode id_token token が含まれます。 既定値は code id_token です。

  • クライアント シークレット: プロバイダーのアプリケーションからクライアント シークレットを貼り付けます。 アプリ シークレット または コンシューマ シークレット と呼ばれる場合もあります。 応答の種類が code の場合は、この設定が必要です。

  • 応答モード: OpenID Connect の response_mode パラメーターの値を入力します。 応答タイプが code の場合、query である必要があります。 既定値は form_post です。

  • 外部ログアウト: この設定は、サイトでのフェデレーション サインアウトの使用をコントロールします。フェデレーション サインアウトを使用すると、ユーザーがアプリケーションやサイトからサインアウトすると、同じ ID プロバイダーを使用するすべてのアプリケーションやサイトからもサインアウトされます。 オンにすると、Web サイトからサインアウトするときに、ユーザーはフェデレーション サインアウト エクスペリエンスにリダイレクトされます。 オフにすると、ユーザーは Web サイトからのみサインアウトします。

  • ログアウト後のリダイレクト: ユーザがサインアウトした後に ID プロバイダーがリダイレクトする URL を入力します。この場所は、ID プロバイダーの構成で適切に設定する必要があります。

  • RP で開始されたログアウト: この設定は、証明書利用者 (OpenID Connect クライアント アプリケーション) がユーザーをサインアウトできるかどうかをコントロールします。 この設定を使用するには、外部ログアウト をオンにします。

Power Pages での追加設定

追加設定を使用して、OpenID Connect ID プロバイダーでユーザー認証方法を詳細にコントロールできます。 これらの値を設定する必要はありません。 完全にオプションです。

  • 発行者フィルター: すべてのテナントのすべての発行者に一致するワイルドカード ベースのフィルターを入力します。例: https://sts.windows.net/*/。 Microsoft Entra ID 認証プロバイダーを使用している場合、発行者 URL フィルターは https://login.microsoftonline.com/*/v2.0/ となります。

  • 対象ユーザーの検証: トークンの検証中に対象ユーザーを検証するには、この設定をオンにします。

  • 有効な対象ユーザー: 対象ユーザー URL のコンマ区切りのリストを入力します。

  • 発行者の検証: トークンの検証中に発行者を検証するには、この設定をオンにします。

  • 有効な発行者: 発行者 URL のコンマ区切りのリストを入力します。

  • 登録クレーム マッピング および ログイン クレーム マッピング: ユーザー認証では、クレーム とは、メール アドレスや生年月日などユーザーの個人情報を示します。 アプリケーションや Web サイトにサインインすると、トークン が作成されます。 トークンには、それに関連付けられたクレームなど、ユーザーの個人情報が含まれています。 トークンは、アプリケーションやサイトの他の部分、または同じ ID プロバイダーに接続されている他のアプリケーションやサイトにアクセスするときに、ID を認証するために使用されます。 クレーム マッピング とは、トークンに含まれる情報を変更する方法です。 これを使用して、アプリケーションやサイトで利用できる情報をカスタマイズしたり、機能やデータへのアクセスをコントロールしたりできます。 登録クレーム マッピング は、アプリケーションやサイトに登録するときに発行されるクレームを変更します。 クレーム マッピングにログイン は、アプリケーションやサイトにサインインするときに発行されるクレームを変更します。 クレーム マッピング ポリシーに関する詳細を確認する

  • Nonce の有効期間: nonce 値の有効期間を分単位で入力します。 既定値は 10 分です。

  • トークンの有効期間の使用: この設定は、Cookie などの認証セッションの有効期間が認証トークンの有効期間と一致する必要があるかどうかをコントロールします。 オンにすると、この値は指定すると、この値は Authentication/ApplicationCookie/ExpireTimeSpan サイト設定の アプリケーション クッキーの有効期間 の値を上書きします。

  • メールによる取引先担当者マッピング : この設定では、取引先担当者がサインインしたときに、対応するメール アドレスにマッピングされるかどうかを決定します。

    • オン: 一意の取引先担当者レコードが一致するメール アドレスに関連付けられ、ユーザーが正常にサインインした後に自動的に外部 ID プロバイダーがその取引先担当者に割り当てられます。
    • オフ

注意

UI_Locales の要求パラメーターは認証要求で自動的に送信され、ポータルで選択された言語に設定されます。

参照

Azure Active Directory (Azure AD) B2C を使用して OpenID Connect プロバイダーを設定する
Microsoft Entra ID を使用して OpenID Connect プロバイダーを設定する
OpenID Connect に関する FAQ