我正在关注以下文章以实现OAuth身份验证:http : //www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-和openid登录
您可以找到ExternalLoginCallback控制器的操作。在该操作中,执行以下方法:
ExternalLoginInfo loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
loginInfo具有“登录”属性。登录属性具有LoginProvider和ProviderKey属性。
有谁知道它的ProviderKey属性是什么?在提供者中注册的唯一UserID是吗?
谢谢
尝试User.Identity.GetUserId()
方法。
if (loginInfo == null)
{
return View("ExternalLoginFailure");
}
var userId = User.Identity.GetUserId();
有关更多信息,请参阅VS 2013项目模板中的“从社交提供程序获取更多信息”。
更新:获取用户的另一种方法是:
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null)
{
return RedirectToAction("Login");
}
var user = await UserManager.FindAsync(loginInfo.Login);
if (user != null)
{
await SignInAsync(user, isPersistent: false);
return RedirectToLocal(returnUrl);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句