ポータルの OpenID Connect プロバイダーを構成する

注意

2022 年 10 月 12 日より、Power Apps ポータルは Power Pages となります。 詳細: Microsoft Power Pages の一般提供が開始されました (ブログ)
Power Apps ポータルのドキュメントは、近日中に Power Pages ドキュメントに移行、統合されます。

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

この記事では、OpenID Connectに対応している ID プロバイダを Power Apps ポータルに統合する方法を説明しています。 ポータル向けの OpenID Connect プロバイダーの例を次に挙げます : Azure Active Directory (Azure AD) B2CAzure AD 複数のテナントを持つ Azure AD

ポータルで対応している認証フローと対応していない認証フロー

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

注意

認証設定の変更がポータルに反映されるまで、数分かかる場合があります。 変更をすぐに反映したい場合は、ポータル アクションを使用してポータルを再起動してください。

OpenID Connect プロバイダーを構成する

他のプロバイダと同様に、OpenID Connect のプロバイダーを構成するには Power Apps にサインインする必要があります。

  1. ポータルで プロバイダーを追加する を選択します。

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

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

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

    プロバイダー名。

  5. 次へ を選択します。

  6. アプリケーションを作成し、ID プロバイダーで設定を構成します。

    アプリケーションの作成。

    注意

    返信 URL は、認証に成功した後にユーザーをポータルにリダイレクトする目的で、アプリが使用します。 ポータルでカスタム ドメイン名を使用している場合は、ここで提供されているものとは異なる URL を使用している可能性があります。

  7. ポータルの構成に次のサイト設定を入力します。

    OpenID サイト設定を構成する。

    注意

    既定の値を確認し—、必要に応じて—変更してください。

    件名 内容
    オーソリティ ID プロバイダーに関連付けられているオーソリティ (または発行者) URLです。
    例 (Azure AD) : https://login.microsoftonline.com/7e6ea6c7-a751-4b0d-bbb0-8cf17fe85dbb/
    クライアント ID ID プロバイダーで作成され、ポータルで使用されるアプリケーションの ID です。
    リダイレクト URL ID のプロバイダーが認証応答を送信する場所です。
    例: https://contoso-portal.powerappsportals.com/signin-openid_1
    注意 : 既定のポータル URL を使用している場合は、OpenID Connect プロバイダー設定の構成と作成の手順に記載のとおり、返信URL をコピーして貼り付けることができます。 カスタム ドメイン名を使用している場合は、URL を手動で入力してください。 ここに入力する値は、ID プロバイダー構成 (Azure ポータルなど) のアプリケーションのリダイレクト URI の値とまったく同じであることを確認してください。
    メタデータ アドレス​ メタデータを取得するための探索エンドポイントです。 一般的な形式 : [オーソリティの URL]/.well-known/openid-configuration
    例 (Azure AD) : https://login.microsoftonline.com/7e6ea6c7-a751-4b0d-bbb0-8cf17fe85dbb/v2.0/.well-known/openid-configuration
    範囲 OpenID Connect スコープパラメータを使用してリクエストするスコープのスペースで区切られたリストです。
    既定値 : openid
    例 (Azure AD) : openid profile email
    詳細情報 : Azure AD を使用したポータルで OpenID Connect を使用する際に追加の要求を設定する
    応答の種類 OpenID Connect の response_type パラメーターの値です。
    使用可能な値 :
    • code
    • code id_token
    • id_token
    • id_token token
    • code id_token token

    既定値 : code id_token
    クライアント シークレット プロバイダーのアプリケーションから取得した クライアント シークレットの値。 アプリ シークレットまたはコンシューマ シークレットと呼ばれる場合もあります。 選択した応答タイプが code の場合は、この設定が必要です。
    応答モード OpenID Connect の response_mode パラメーターの値です。 選択した応答タイプが query の場合、値は code である必要があります。 既定値 : form_post
  8. ユーザーをサインアウトする設定を構成します。

    ログアウト設定。

    件名 内容
    外部ログアウト 外部アカウントによるサインアウトを有効または無効にします。有効に設定すると、ユーザーはポータルからサインアウトしたときに外部サインアウト ユーザー エクスペリエンスにリダイレクトされます。 無効に設定すると、ユーザーはポータルからのみサインアウトします。
    ログアウト後のリダイレクト URL​ 外部サインアウトの後に ID プロバイダーがユーザーをリダイレクトする場所です。この場所は、ID プロバイダーの構成で適切に設定する必要があります。
    RP で開始されたログアウト 証明書の利用者が開始したサインアウトを有効または無効にします。 この設定を使用するには、最初に外部ログアウトを有効にする必要があります。
  9. (任意) 追加の設定を構成します。

    追加設定。

    件名 内容
    発行者フィルター すべてのテナントですべての発行者に一致するワイルドカード ベースのフィルター。
    例: https://sts.windows.net/*/
    対象ユーザーの検証​ 有効にすると、トークンの検証中に対象のユーザーが検証されます。
    有効な対象ユーザー​ 対象ユーザー URL のコンマ区切りリストです。
    発行者の検証​ 有効にすると、トークンの検証中に発行者が検証されます。
    有効な発行者 発行者 URL のコンマ区切りリストです。
    登録クレーム マッピング 連絡先レコードの属性のサインアップ中にプロバイダーから返されたクレーム値をマッピングする論理的な名前とクレームのペアのリストです。
    フォーマット : field_logical_name=jwt_attribute_name where field_logical_name はポータル内のフィールドの論理名、 jwt_attribute_name は ID プロバイダから返される値を持つ属性です。
    例 : Azure AD の profileスコープを使用している場合 : firstname=given_name,lastname=family_name この例では、firstnamelastname はポータルのプロファイル フィールドの論理名であり、given_namefamily_name は、それぞれのフィールドに対して ID プロバイダが返す値を持つ属性です。
    ログイン クレーム マッピング 論理名-クレーム名のペアのリストです。サインインのたびにプロバイダーから返されるクレーム値を連絡先レコードの属性に対応付けるために使用します。
    フォーマット : field_logical_name=jwt_attribute_name where field_logical_name はポータル内のフィールドの論理名、 jwt_attribute_name は ID プロバイダから返される値を持つ属性です。
    例 : Azure AD の profileスコープを使用している場合 : firstname=given_name,lastname=family_name この例では、firstnamelastname はポータルのプロファイル フィールドの論理名であり、given_namefamily_name は、それぞれのフィールドに対して ID プロバイダが返す値を持つ属性です。
    nonce の有効期間 nonce 値の有効期間 (分単位) です。 既定: 10 分。
    トークンの有効期間を使用する​ 認証セッションの有効期間 (Cookie など) を認証トークンの値と一致させる必要があることを示します。 この値を指定すると、この値は Authentication/ApplicationCookie/ExpireTimeSpan サイト設定の アプリケーション クッキーの有効期限の値を上書きします。
    電子メールによる取引先担当者マッピング 取引先担当者を対応するメールにマッピングするかどうかを指定します。
    この設定を On に設定すると、一意の連絡先レコードが一致する電子メール・アドレスと関連付けられ、ユーザーのサインインが成功した後に外部 ID プロバイダが連絡先に割り当てられます。

    注意

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

OpenID Connect のプロバイダーを編集する

構成済みの OpenID Connect プロバイダーを編集するには、プロバイダーを編集するを参照してください。

参照

ポータルの OpenID Connect プロバイダーを Azure AD で構成する
ポータルで OpenIDConnect を使用することに関する FAQ

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。