この案内https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-create-linux-clusters-dotnet-sdk/に従っているので、ARMベースのHDInsightクライアントを使用してクラスタを作成しています。Azureリソース管理APIを使用しているときにリフレッシュAADトークンを処理するためのベストプラクティス
ロジックはこのようなものです:AADとして
var authToken = authContext.AcquireToken(params...);
var hdiClient = new HDInsightManagementClient(authToken);
hdiClient.Clusters.Create(params...);
//use hdiClient to do other things, like create clusters ...
は、トークンだけで1時間の有効期限があります。 hdiClientを使用してクラスターを作成し、状況を照会すると、ヒットするのは簡単です。この場合、更新トークンの処理に使用したhdiClientのすべてのメソッドをラップする必要があります。
これを処理するベストプラクティスはありますか?または、それを処理するためにユーザーに公開されたトークン期限切れイベントがありますか?私のケースでは、HDInsightのシナリオでは、AADを使用する場合、すべてのAzure Resource Managerクライアントで同様の問題が発生するはずです...
実際のシナリオでは、クライアントとのCRUD操作を実行するときにクラスタステータスを取得するために使用されるクエリAPIも多数あります。それぞれの呼び出しの場合、私はリフレッシュする必要はありません。それは私が言及した解決策、私は更新トークンのものを処理するために使用されたhdiClientのすべてのメソッドをラップします... – Mingyang