环境:使用VS2013 标准web模板的MVC项目
当用户通过外部登录(如谷歌)登录时,是否可以从控制器的User
对象(System.Security.Champions.Principal)中检索有关外部登录的信息(如LoginProvider、DefaultUserName等)?
如果不是这个对象,有没有其他方法可以将它们放在MVC控制器中?
在AcountsController
中查找名为ExternalLoginCallback
的操作。有一行代码就是这样的
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
loginInfo
实例仅包含应用程序对您进行身份验证所需的基本信息。但如果你打电话给
var detailedLoginInfo = AuthenticationManager.AuthenticateAsync(DefaultAuthenticationTypes.ExternalCookie);
这个实例应该包含您要求的所有信息。