2017-05-17 2 views
2

MSAL 1.1.0-alpha307で動作していたコードがいくつかありますが、1.1.0プレビューでは「クライアント情報がnullです」という例外がスローされます。 HTTP応答で返されます。アプリケーションはAAD V2エンドポイントに登録され、MS Graphデータを取得します。下のスタックトレースからは、Graphのトーク​​ンを取得できるように見えますが、キャッシュできません。MSAL 1.1.0プレビューで「クライアント情報がnullです」を取得

誰でも診断/修正/回避策を提案できますか?

これはコードです:

var bootstrapContext = ClaimsPrincipal.Current.Identities.First().BootstrapContext as BootstrapContext; 
UserAssertion userAssertion = new UserAssertion(bootstrapContext.Token); 
ClientCredential clientCred = new ClientCredential(ConfigurationManager.AppSettings["ida:Password"]); 
ConfidentialClientApplication cca = 
        new ConfidentialClientApplication(ConfigurationManager.AppSettings["ida:ClientID"], 
                 "https://localhost:44355", clientCred, null, null); 
string[] graphScopes = { "Files.Read.All" }; 
AuthenticationResult result = await cca.AcquireTokenOnBehalfOfAsync(graphScopes, userAssertion, "https://login.microsoftonline.com/common/oauth2/v2.0"); 

これは、スタックトレースです:

{"Message":"An error has occurred.","ExceptionMessage":"client info is null","ExceptionType":"Microsoft.Identity.Client.MsalClientException","StackTrace":" at Microsoft.Identity.Client.Internal.ClientInfo.CreateFromJson(String clientInfo)\r\n at Microsoft.Identity.Client.Internal.Requests.RequestBase.SaveTokenResponseToCache()\r\n at Microsoft.Identity.Client.Internal.Requests.RequestBase.PostTokenRequest()\r\n at Microsoft.Identity.Client.Internal.Requests.RequestBase.<RunAsync>d__33.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.Identity.Client.ConfidentialClientApplication.<AcquireTokenOnBehalfCommonAsync>d__16.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.Identity.Client.ConfidentialClientApplication.<AcquireTokenOnBehalfOfAsync>d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Office_Add_in_ASPNET_SSO_WebAPI.Controllers.ValuesController.<Get>d__0.MoveNext() in D:\\repos\\Office-Add-in-ASP.NET-SSO\\Complete\\Office-Add-in-ASPNET-SSO-WebAPI\\Controllers\\ValuesController.cs:line 46\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__3`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()"} 
+0

ここでも同じ問題が発生しますが、開始時には動作しますが、後でトークンをリフレッシュするときにこの例外が表示されます。あなたは17日にこれを尋ねたので、あなたは修正を見つけるかもしれません。 – rfcdejong

+0

これは修正されているはずです。私は開発者に問い合わせました。私が見つけたものを報告します。 –

+0

開発者はhttp://www.telerik.com/fiddlerツールをインストールするように頼んでいます。これが起きたときからリクエスト/レスポンスをキャプチャします。コメントにコメントを追加することはできませんので、新しい質問を開始し、Fiddlerデータを追加してください。 –

答えて

0

これは、AzureのActive DirectoryのV2.0エンドポイントのバグであることが判明しました。これは修正されています。

関連する問題