Jwt 为什么机密ClientApplication.GetAccountsAsync会间歇返回null?

Jwt 为什么机密ClientApplication.GetAccountsAsync会间歇返回null?,jwt,azure-active-directory,asp.net-core-2.0,openid-connect,Jwt,Azure Active Directory,Asp.net Core 2.0,Openid Connect,我正在使用示例Azure AD Open ID connect身份验证代码对我的ASP.Net核心web应用程序进行身份验证 标准的身份验证流程可以完美地工作,但是当我试图通过令牌获取服务获取JWT时,对GetAccountAsync的调用,然后对GetAccountsAsync的调用无法返回帐户 最疯狂的是它并不总是失败 在Edge中,如果凭据已缓存且我未登录,GetAccountAsync将无法返回帐户。如果未缓存凭据并且我登录,则GetAccountAsync将返回一个帐户 这是什么原因造

我正在使用示例Azure AD Open ID connect身份验证代码对我的ASP.Net核心web应用程序进行身份验证

标准的身份验证流程可以完美地工作,但是当我试图通过令牌获取服务获取JWT时,对GetAccountAsync的调用,然后对GetAccountsAsync的调用无法返回帐户

最疯狂的是它并不总是失败

在Edge中,如果凭据已缓存且我未登录,GetAccountAsync将无法返回帐户。如果未缓存凭据并且我登录,则GetAccountAsync将返回一个帐户

这是什么原因造成的

我注意到当凭证被缓存时,OnAuthorizationCodeReceived不会被接收,并且帐户被添加到缓存中

var handler = options.Events.OnAuthorizationCodeReceived;
options.Events.OnAuthorizationCodeReceived = async context =>
{
    var _tokenAcquisition = context.HttpContext.RequestServices.GetRequiredService<ITokenAcquisition>();
    await _tokenAcquisition.AddAccountToCacheFromAuthorizationCode(context, options.Scope);
    await handler(context);
};
var handler=options.Events.OnAuthorizationCodeReceived;
options.Events.OnAuthorizationCodeReceived=异步上下文=>
{
var_tokenAcquisition=context.HttpContext.RequestServices.GetRequiredService();
wait_tokenAcquisition.AddAccountToCacheFromAuthorizationCode(上下文、选项、范围);
等待处理程序(上下文);
};

如何将这些凭据添加到缓存中,而无需像缓存在浏览器中时那样进行登录

现在我对这里发生的事情有了更好的理解,我的问题是不正确的。真正的问题是如何处理缓存的凭据。帐户信息不可用,因为我的应用程序和身份提供商之间从未进行过身份验证。