Azure ADを使用して、Office365アカウントを使用してWPFアプリケーションでユーザーを認証します。これは、Active Directory認証ライブラリ(ADAL)を使用して行われます。
現在、アプリを開くたびにログインするように求められます。これを変更して、キャッシュされたトークンを介してアプリにログインできるようにします。これは機能しますが、トークンの有効期限を24時間以下に短縮し、その時間が経過した後に別のサインインが必要になります。
コードでアクセストークンの有効期限を操作する方法がわかりません。これはAzureAD内で実行する必要があるものですか?
ADALを使用してトークンの有効期限を構成することはできません。 ADALは、トークンサービスとの対話を支援する認証ライブラリですが、サービスプリンシパル、アプリケーション、またはテナントでトークンの有効期間の構成を設定できます。
Powershellを使用して、必要な動作を説明するポリシーを作成し、それをサービスプリンシパル、テナント、またはアプリケーションにリンクする必要があります。マルチテナントアプリを構築している場合、テナントの所有者がポリシーを上書きする可能性があることに注意してください。
tl; dr:で変更される可能性があるため、アプリのトークンの有効期間に依存しないでくださいどんなときも。
これらのプロパティは、 Azure AD Powershellコマンド を使用して設定できます。次に、次のコマンドを実行して、アクセストークンの有効期間を設定します。
_Connect-AzureAD -Confirm
_
New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"02:00:00","MaxAgeSessionSingleFactor":"02:00:00"}}') -DisplayName "WebPolicyScenario" -IsOrganizationDefault $false -Type "TokenLifetimePolicy"
_Get-AzureAdPolicy
_
_Add-AzureADApplicationPolicy -Id <ObjectId of the Application> -RefObjectId <ObjectId of the Policy>
_
その他の例と完全なドキュメントについては、 Azure AD Configurable Token Lifetime を確認してください。