ようこそ。 ご要望のページを表示できません。 問題の修正に取り組んでいますが、次のリンクから目的の記事にアクセスできるかお試しください。
クイック スタート: Windows デスクトップ アプリでユーザーをサインインさせ、Microsoft Graph を呼び出す
ご不便をおかけして申し訳ありませんが、問題が解決するまで今しばらくお待ちください。
このクイック スタートでは、Windows Presentation Foundation (WPF) アプリケーションがユーザーをサインインさせ、Microsoft Graph API を呼び出すアクセス トークンを取得する方法を示すコード サンプルをダウンロードして実行します。
図については、「このサンプルのしくみ」を参照してください。
手順 1:Azure portal でのアプリケーションの構成
このクイックスタートのコード サンプルを機能させるには、とhttps://login.microsoftonline.com/common/oauth2/nativeclient
のms-appx-web://microsoft.aad.brokerplugin/{client_id}
追加します。
アプリケーションはこれらの属性で構成されています。
手順 2:Visual Studio プロジェクトをダウンロードする
Visual Studio 2019 を使用してプロジェクトを実行します。
ヒント
Windows におけるパスの長さの制限に起因したエラーを防ぐため、ドライブのルートに近いディレクトリをアーカイブの展開先またはリポジトリのクローン先とすることをお勧めします。
手順 3:アプリが構成され、実行準備ができる
アプリのプロパティの値を使用してプロジェクトを構成したら、実行する準備は完了です。
注
Enter_the_Supported_Account_Info_Here
詳細情報
このサンプルのしくみ
MSAL.NET
MSAL (Microsoft.Identity.Client) は、ユーザーのサインインと、Microsoft ID プラットフォームによって保護された API へのアクセスに使用されるトークンの要求に使用されるライブラリです。 MSAL は、Visual Studio の "パッケージ マネージャー コンソール" で次のコマンドを実行してインストールできます。
Install-Package Microsoft.Identity.Client -IncludePrerelease
MSAL の初期化
MSAL への参照を追加するには、次のコードを追加します。
using Microsoft.Identity.Client;
続いて、次のコードを使用して MSAL を初期化します。
IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
.WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
.WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
.Build();
場所は: | 説明 |
---|---|
ClientId |
Azure portal に登録されているアプリケーションの "アプリケーション (クライアント) ID"。 この値は、Azure portal のアプリの [概要] ページで確認できます。 |
トークンの要求
MSAL には、トークンを取得するための 2 つの方法 ( AcquireTokenInteractive
と AcquireTokenSilent
) があります。
ユーザー トークンを対話形式で取得する
状況によっては、ユーザーが資格情報を検証したり同意したりするために、ポップアップ ウィンドウを介して Microsoft ID プラットフォームとやり取りする必要があります。 いくつかの例を次に示します。
- ユーザーが初めてアプリケーションにサインインした場合
- パスワードの有効期限が切れているため、ユーザーが資格情報を再入力する必要がある場合
- アプリケーションが、ユーザーが同意する必要があるリソースへのアクセスを要求している場合
- 2 要素認証が必須である場合
authResult = await App.PublicClientApp.AcquireTokenInteractive(_scopes)
.ExecuteAsync();
場所は: | 説明 |
---|---|
_scopes |
要求するスコープを含む (Microsoft Graph 用の { "user.read" } またはカスタム Web API 用の { "api://<Application ID>/access_as_user" } など) |
ユーザートークンを静かに取得する
リソースにアクセスする必要があるたびに、ユーザーに資格情報の検証を要求する必要はありません。 ほとんどの場合、ユーザーの操作なしでトークンの取得と更新を行う必要があります。
AcquireTokenSilent
メソッドを使用すると、最初のAcquireTokenInteractive
メソッドの後に、保護されたリソースにアクセスするためのトークンを取得できます。
var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
.ExecuteAsync();
場所は: | 説明 |
---|---|
scopes |
要求するスコープを含む (Microsoft Graph 用の { "user.read" } またはカスタム Web API 用の { "api://<Application ID>/access_as_user" } など) |
firstAccount |
キャッシュ内の最初のユーザーを指定します (MSAL は 1 つのアプリで複数のユーザーをサポートします)。 |
ヘルプとサポート
ヘルプが必要な場合、問題を報告したい場合、またはサポート オプションについて知りたい場合は、「 開発者向けのヘルプとサポート」を参照してください。
次のステップ
アプリケーションや新機能の構築についての完全なステップ バイ ステップ ガイドは、Windows デスクトップ チュートリアルをお試しください。このクイック スタートの完全な説明も含まれています。