使用Facebook或Google登录时,无论何时调用GetExternalLoginInfoAsync方法都会返回null。
当我尝试使用Facebook或Google登录时,GetExternalLoginInfoAsync始终返回null的问题出现的原因是没有正确设置HttpResponse的SuppressFormsAuthenticationRedirect属性。解决方法是在ChallengeResult类的ExecuteResult方法中添加以下代码:
context.RequestContext.HttpContext.Response.SuppressFormsAuthenticationRedirect = true;
这行代码修复了返回null的问题。需要注意的是,在使用Twitter授权登录时不要使用Fiddler,否则会收到错误信息。可以参考这个链接获取更多信息:[stackoverflow.com/questions/20180562/…](http://stackoverflow.com/questions/20180562/20948631#20948631)