이 지침 https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-create-linux-clusters-dotnet-sdk/에 따라 ARM 기반 HDInsight 클라이언트를 사용하여 클러스터를 만들 예정입니다.Azure Resource Management 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