2017-03-16 28 views
1

私はこのコードサンプルを使用します:https://github.com/Azure-Samples/active-directory-dotnet-graphapi-web、私はこのコードサンプルがクライアントライブラリを使用していることを知っていますが、私はperfmonクエリを使用する(httpclientを使用してください)キャッシュ:キャッシュにトークンが見つからないため、トークンをサイレントに取得できませんでした。呼び出しメソッドAcquireToken

string userObjectID = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value; 
AuthenticationContext authContext = new AuthenticationContext(Startup.Authority, new NaiveSessionCache(userObjectID)); 
ClientCredential credential = new ClientCredential(clientId, appKey); 
var result = await authContext.AcquireTokenSilentAsync(resource, credential, new UserIdentifier(userObjectID, UserIdentifierType.UniqueId)); 

しかし、私が見つけ、常にエラーを投げた:何のトークンがキャッシュ内に見つからなかったとしてトークン黙っ取得に失敗しました。呼び出し方法AcquireToken

+0

このシナリオをテストするには、もう一度ログアウトしてログインしようとしましたか? –

答えて

1

エラーを再現することができました。 this linkによると、AcquireTokenSilentAsync(NaiveSessionCacheを使用)を使用しているときにコードサンプルが機能しないようです。NaiveSessionCache.csをthisに変更してください。

私が役に立っているかどうか教えてください。

+0

このコードサンプルに関連する新しい質問があります。http://stackoverflow.com/questions/42920678/how-can-i-get-refresh-token – Phoenix

関連する問題