我根據本文整合微軟圖形API爲5 MVC的Web應用程序,以及使用ADAL開放ID連接:正確實施TokenCache
https://azure.microsoft.com/en-us/resources/samples/active-directory-dotnet-webapp-openidconnect-v2/
我想知道,如何我可以提供不依賴於會話狀態的TokenCache的實現嗎?我應該向AcquireTokenForClientAsync提供什麼參數?現在,我只是提供一個類的新實例來滿足方法的簽名。我寧願刷新令牌自動處理,正如我在別處讀過的。但是,如果您爲TokenCache參數提供null,則令牌緩存不會自動處理?以下是我如何獲取令牌並在每次調用它時提供新的TokenCache()的示例。
ConfidentialClientApplication daemonClient = new ConfidentialClientApplication(
AuthConstants.ClientId,
String.Format("https://login.microsoftonline.com/{0}/v2.0", AuthConstants.TenantId),
AuthConstants.RedirectUri,
new ClientCredential(AuthConstants.ClientSecret),
null,
new TokenCache());
AuthenticationResult authResult = await daemonClient.AcquireTokenForClientAsync(new string[] { "https://graph.microsoft.com/.default" });
return authResult.AccessToken;
謝謝你,當你提供這個實現令牌緩存的,不令牌的刷新自動發生?在框架嘗試刷新它之前,如何知道令牌有效多久? –