チュートリアル: .NET MAUI シェル アプリを作成する
このチュートリアルは、.NET Multi-Platform App UI (.NET MAUI) シェル アプリを作成し、Microsoft Entra 管理センターを使用した認証のためにそれを準備する方法を見ていくシリーズの、パート 2 です。 このシリーズのパート 1 では、外部テナントでアプリケーションを登録し、ユーザー フローを構成しました。 このチュートリアルでは、Microsoft Authentication Library (MSAL) SDK を初期化するためのカスタム MSAL クライアント ヘルパーを追加し、必要なライブラリをインストールして、画像リソースを含めます。
このチュートリアルでは、次のことを行います。
- .NET MAUI シェル アプリを作成します。
- MSAL ヘルパー クラスを使用して MSAL SDK のサポートを追加します。
- 必要なパッケージをインストールします。
- 画像リソースを追加します。
前提条件
- チュートリアル: .NET MAUI モバイル アプリを外部テナントに登録して構成する
- .NET 7.0 SDK
- MAUI ワークロードがインストールされている Visual Studio 2022:
.NET MAUI シェル アプリを作成する
- Visual Studio 2022 の スタート ウィンドウから [新しいプロジェクトの作成] を選択します。
- [新しいプロジェクトの作成] ウィンドウで、[すべてのプロジェクトの種類] ドロップダウン リストの [MAUI] を選択し、[.NET MAUI アプリ] テンプレートを選び、[次へ] を選択します。
- [新しいプロジェクトの構成] ウィンドウで、[プロジェクト名] を SignInMaui に設定する必要があります。 [ソリューション名] を sign-in-maui に更新し、[次へ] を選択します。
- [追加情報] ウィンドウで、[.NET 7.0] を選択して [作成] を選択します。
プロジェクトが作成され、その依存関係が復元されるまで待ちます。
MSAL ヘルパー クラスを使用して MSAL SDK のサポートを追加する
MSAL クライアントを使用すると、開発者は外部テナントから、セキュリティで保護された Web API を認証してアクセスするためのセキュリティ トークンを取得できます。 このセクションでは、MSALClient を構成するファイルをダウンロードします。
次のファイルをコンピューターのフォルダーにダウンロードします。
- AzureAdConfig.cs - このファイルは、アプリ構成ファイルから Microsoft Entra アプリの一意識別子を取得して設定します。
- DownStreamApiConfig.cs - このファイルは、Microsoft Graph 呼び出しのスコープを取得および設定します。
- DownstreamApiHelper.cs - このファイルは、ダウンストリーム API を呼び出すときに発生する例外を処理します。
- Exception.cs - このファイルには、例外のスローと処理に関連するいくつかの拡張メソッドが用意されています。
- IdentityLogger.cs - このファイルは、MSAL.NET ログの使用方法を示します。
- MSALClientHelper.cs - このファイルには、MSAL SDK を初期化するためのメソッドが含まれています。
- PlatformConfig.cs - このファイルには、特定のプラットフォームを処理するメソッドが含まれています。 たとえば、Windows などです。
- PublicClientSingleton.cs - このファイルには、MSALClient と関連するクラスをラップしてプラットフォームの静的初期化モデルをサポートするためのシングルトン実装が含まれています。
- WindowsHelper.cs - このファイルには、ウィンドウ ハンドルを取得するメソッドが含まれています。
重要
MSALClient ファイルのダウンロードはスキップしないでください。ファイルはこのチュートリアルを完了するために必要です。
Visual Studio を使用して MSALClient ファイルを移動する
- [ソリューション エクスプローラー] ペインで、[SignInMaui] プロジェクトを右クリックし、[追加]>[新しいフォルダ] を選択します。 フォルダーの名前を MSALClient にします。
- [MSALClient] フォルダーを右クリックし、[追加]>[既存の項目...] を選択します。
- 先ほどダウンロードした MSALClient ファイルを含むフォルダーに移動します。
- ダウンロードしたすべての MSALClient ファイルを選択した後に、[追加] を選択します
必要なパッケージをインストールする
次のパッケージをインストールする必要があります。
- Microsoft.Identity.Client - このパッケージには、Microsoft Authentication Library for .NET (MSAL.NET) のバイナリが含まれています。
- Microsoft.Extensions.Configuration.Json - このパッケージには、Microsoft.Extensions.Configuration の JSON 構成プロバイダーの実装が含まれています。
- Microsoft.Extensions.Configuration.Binder - このパッケージには、Microsoft.Extensions.Configuration の構成プロバイダーのデータにオブジェクトをバインドする機能が含まれています。
- Microsoft.Extensions.Configuration.Abstractions - このパッケージには、キーと値のペアベースの構成の抽象化が含まれています。
- Microsoft.Identity.Client.Extensions.Msal - このパッケージには、Microsoft Authentication Library for .NET (MSAL.NET) への拡張機能が含まれています。
NuGet パッケージ マネージャー
NuGet パッケージ マネージャーを使用して Visual Studio に Microsoft.Identity.Client パッケージをインストールするには、次の手順に従います。
- [ツール]>[NuGet パッケージ マネージャー]>[ソリューションの NuGet パッケージの管理] の順に選択します。
- [閲覧] タブで、Microsoft.Identity.Client を検索します。
- 一覧から [Microsoft.Identity.Client] を選択します。
- [プロジェクト] リスト ペインで [SignInMaui] を選択します。
- [インストール] を選択します。
- インストールの確認を求められたら、[OK] を選択します。
プロセスを繰り返して、残りの必要なパッケージをインストールします。
画像リソースを追加する
このセクションでは、ユーザーがアプリを操作する方法を強化するためにアプリ内で使用する画像をダウンロードします。
次の画像をダウンロードします。
- アイコン: Microsoft Entra ID - この画像は、メイン ページのアイコンとして使用されます。
Visual Studio を使用して画像を移動する
- Visual Studio の [ソリューション エクスプローラー] ペインで、[リソース] フォルダーを展開すると、[画像] フォルダーが表示されます。
- [画像] を右クリックし、[追加]>[既存の項目...] を選択します。
- ダウンロードされた画像を含むフォルダーに移動します。
- フィルターを [ファイルの種類] フィルターの [画像ファイル] に変更します。
- ダウンロードした画像を選択します。
- [追加] を選択します。