Azure active directory 无法以静默方式获取令牌,因为在缓存中找不到令牌。调用方法AcquireToken
我使用此代码示例:,我知道此代码示例正在使用客户端库,但如果我想直接使用api调用执行查询(使用httpclient),我使用以下代码从缓存中获取访问令牌:Azure active directory 无法以静默方式获取令牌,因为在缓存中找不到令牌。调用方法AcquireToken,azure-active-directory,adal,Azure Active Directory,Adal,我使用此代码示例:,我知道此代码示例正在使用客户端库,但如果我想直接使用api调用执行查询(使用httpclient),我使用以下代码从缓存中获取访问令牌: string userObjectID = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value; AuthenticationContext authContext = new
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我可以重现您的错误。根据,在使用AcquireTokenSilentAsync(使用NaiveSessionCache)时,代码示例似乎不起作用,请尝试将NaiveSessionCache.cs修改为
请让我知道它是否有帮助。您是否尝试注销并再次登录以测试此场景?只是好奇,为什么会出现这样的抛出错误,并且在用户已通过身份验证时未获得新令牌?我有一个与此代码示例相关的新问题,请参见此处:它不适用于我。