【问题标题】:MVC Owin Identity Linking multiple social accounts to a single userMVC Owin Identity 将多个社交帐户链接到单个用户
【发布时间】:2015-04-02 13:35:39
【问题描述】:

我的 MVC 网站具有 MVC Owin Identity 登录。 所以用户可以使用社交网络访问我的网站。 现在我想允许用户将多个社交网络连接到那里的帐户。

例如 用户在我的网站上使用 Facebook 注册。 在注册期间,通过 Facebook UserLogin 连接为他创建了新的本地用户。

现在在用户的个人资料页面上,我想添加其他社交并显示已连接的社交。

如何使用 MVC Owin Identity 做到这一点?

【问题讨论】:

    标签: model-view-controller asp.net-identity social-networking owin


    【解决方案1】:

    我的解决方案很简单。 我只是检查用户是否已登录并将新社交附加到他。

        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");
        }
    

    【讨论】:

      猜你喜欢
      • 2012-10-19
      • 2013-09-17
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多