Model view controller MVC Owin标识将多个社交帐户链接到单个用户
我有MVC网站,有MVC Owin身份登录。 所以用户可以使用社交网络访问我的网站。 现在我想允许用户将多个社交网络连接到这些帐户 e、 g。 在我的网站上使用Facebook注册的用户。 在注册期间,通过Facebook UserLogin连接为他创建了新的本地用户 现在在用户的个人资料页面上,我想添加其他社交网站,并显示已连接的社交网站 如何使用MVC Owin标识实现这一点?我的解决方案很简单。 我只是检查用户是否已登录,并将新的社交网站附加到他身上Model view controller MVC Owin标识将多个社交帐户链接到单个用户,model-view-controller,asp.net-identity,social-networking,owin,Model View Controller,Asp.net Identity,Social Networking,Owin,我有MVC网站,有MVC Owin身份登录。 所以用户可以使用社交网络访问我的网站。 现在我想允许用户将多个社交网络连接到这些帐户 e、 g。 在我的网站上使用Facebook注册的用户。 在注册期间,通过Facebook UserLogin连接为他创建了新的本地用户 现在在用户的个人资料页面上,我想添加其他社交网站,并显示已连接的社交网站 如何使用MVC Owin标识实现这一点?我的解决方案很简单。 我只是检查用户是否已登录,并将新的社交网站附加到他身上 public async Ta
public async Task<ActionResult> Callback(string provider)
{
var externalLoginInfo = await _applicationSignInManager.AuthenticationManager.GetExternalLoginInfoAsync();
if (externalLoginInfo == null)
{
return RedirectToAction("Index", "SignIn");
}
// Check if the user with this external login provider already has a login
if (await _applicationSignInManager.UserManager.FindAsync(externalLoginInfo.Login) != null) return RedirectToAction("Index", "Social");
await _applicationSignInManager.UserManager.AddLoginAsync(HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId<long>(), externalLoginInfo.Login);
return RedirectToAction("Index", "Social");
}
公共异步任务回调(字符串提供程序)
{
var externalLoginInfo=wait _applicationSignInManager.AuthenticationManager.getexternallogininfosync();
if(externalLoginInfo==null)
{
返回重定向操作(“索引”、“签名”);
}
//检查具有此外部登录提供程序的用户是否已登录
如果(等待应用程序SignInManager.UserManager.FindAsync(externalLoginInfo.Login)!=null)返回RedirectToAction(“索引”、“社交”);
wait_applicationSignInManager.UserManager.AddLoginAsync(HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId(),externalLoginInfo.Login);
返回操作(“索引”、“社交”);
}