环境:使用VS2013标准网页模板的MVC项目
当用户通过外部登录(例如Google)登录时,是否可以从Controller的User
对象(系统)检索有关外部登录的信息,例如LoginProvider,DefaultUserName等。 .Security.Claims.ClaimsPrincipal)?
如果不是这个对象,还有其他方法可以将它们放在MVC控制器中吗?
答案 0 :(得分:2)
在AcountsController
中查找名为ExternalLoginCallback
的操作。这样有一行代码
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
loginInfo
实例仅包含应用程序验证您所需的基本信息。但是如果你打电话
var detailedLoginInfo = AuthenticationManager.AuthenticateAsync(DefaultAuthenticationTypes.ExternalCookie);
此实例应包含您要求的所有信息。