次の方法で共有


サンプル: グローバル検索を利用した Blazor WebAssembly

このサンプルは、Blazor WebAssembly アプリケーションからグローバル探索サービスを使用する方法を示します。

このサンプルは https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/webapi/C#/BlazorCDS からダウンロードできます

このサンプルは チュートリアル: Microsoft Dataverse を使用して ASP.NET Core Blazor WebAssembly アプリを作成する の手順を変更したものです

こちらからオンラインで、このサンプルをご利用ください: https://blazorcds.mohsinonxrm.com/

このサンプルを実行する方法

  1. サンプル リポジトリをダウンロードまたは複製して、ローカル コピーを用意します。
  2. セットアップ の手順に従って、Microsoft Entra ID アプリ登録を作成し、サンプルを実行します。

このサンプルの概要

このサンプルは、アクセスできる環境をユーザーが切り替えるために、Web アプリケーションで選択 (ドロップダウン) コントロールを提供する方法を示します。

このサンプルの動作方法

Pages/EnvironmentChooser.razor ファイルはユーザー インターフェイスを提供し、ユーザーがログイン後に資格情報に基づいて使用可能な環境から選択できるようにします。

このページは、グローバル探索サービスにアクセスするように構成した、Program.cs 内の HttpClient (GDSClient) の名前付き定義に依存します。 ユーザーがログインすると、使用可能なスコープにグローバル探索サービスへのアクセスが追加されます。 ユーザーが別の環境を選択すると Models/AppState.csSelectedEnvUrl が変更されます。

アカウント レコードへのアクセスは、選択した環境に応じたアクセス トークンを使用して Pages/FetchAccounts.razor が提供します。

設定

このサンプルを実行するには、まずテナントで Microsoft Entra ID アプリケーションを構成し、BlazorCDS\wwwroot\appsettings.json ファイルを更新してプレースホルダーの ClientId 値をアプリケーション (クライアント) ID に置き換える必要があります。以下の手順を使用してください:

アプリ登録の作成

  1. Azure に移動します。

  2. Microsoft Entra ID を選択します。

  3. アプリの登録 に移動します。

  4. 新規登録 を選択します。

  5. 次のように入力します。

    フィールド
    名前 ユーザーの選択。 BlazorGlobalDiscoverySample を使用できます
    対応しているアカウントの種類: この組織ディレクトリが含むアカウントのみ (単一テナント)
    リダイレクト URI (オプション) https://localhost:44363/authentication/login-callback
  6. 登録 をクリックします。

  7. アプリケーション (クライアント) ID の値をコピーします。 プロジェクトを更新する 際に、これが必要です。

認証の構成

  1. 認証 に移動します。

  2. 黙的な許可とハイブリッド フロー 配下で、次のオプションを両方とも選択します:

    • アクセス トークン (暗黙的なフローに使用)
    • ID トークン (暗黙的なフローおよびハイブリッド フローに使用)
  3. 保存 をクリックします。

アクセス許可の構成

  1. API アクセス許可 に移動します。
  2. アクセス許可の追加 をクリックします。
  3. API アクセス許可の要求 ポップアップの Microsoft API タブで Dynamics CRM を選択します。
  4. アクセス許可の選択 配下で user_impersonation を選択します。
  5. アクセス許可の追加 をクリックします。
  6. 構成済みのアクセス許可 配下で、{自分のテナント名} に対して 管理者の同意を付与する をクリックします。
  7. 管理者の同意を付与する 確認ダイアログで はい をクリックします。

プロジェクトを更新する

  1. BlazorCDS Visual Studio ソリューション ファイル (BlazorCDS.sln) を Visual Studio で開きます。
  2. ソリューション エクスプローラーwwwroot を展開し、appsettings.json ファイルを開きます。
  3. プレースホルダー ClientId 値 (11111111-1111-1111-1111-111111111111) を、アプリ登録の作成 でコピーしたアプリケーション (クライアント) ID 値に置き換えます。

サンプルの実行

Visual Studio で IIS Express をクリックし、サンプルを実行します。

実際の動作

  1. アプリから開いたブラウザ ウィンドウで ログイン をクリックします:
  2. 資格情報を入力すると、ラベル 環境の選択 が付いた選択コントロールが表示されます。 この選択コントロールは、提供した資格情報でアクセスできるすべての環境の一覧を表示します。
  3. アカウントを取得する をクリックします。 この操作により、選択した環境で表示できるアカウント レコードのリストが表示されます。
  4. 選択できる環境が複数ある場合は、別の環境を選択してアカウント レコードのリストを更新し、その環境で使用可能なレコードを表示させます。

クリーンアップ

このサンプルは環境が含むデータを変更しません。

関連項目

ユーザー組織の検出
サンプル: グローバル探索サービス (C#)

注意

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

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