AuthenticationManager.GetExternalLoginInfoAsync()始终为空
ExternalLoginInfo loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
为什么这行总是返回null?它发生在用户尝试使用任何提供者登录时。我知道FLOW是正确的,因为它实际上在本地工作,但是当我部署网站时,它总是返回null。
从我所了解的情况来看,它使用外部cookie来跟踪这一点,我可以确定它不是浏览器,因为它在本地工作在同一浏览器上。
即使我已经仔细检查了所有提供者在每个相应的控制面板中都具有“允许”域,也会发生这种情况。就像我说的一切都在当地工作。
我试过重新启动IIS,因为一些答案建议。
也有这些线Startup.Auth.cs与cookie DOMIAN正确设置
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
CookieDomain = ".example.com",
...
});
//use a cookie to temporarily store information about a user logging in with a third party login provider
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);