在mvc中实现OAuth 3.如何在数据库中存储用户的详细信息

时间:2015-01-06 06:58:29

标签: asp.net asp.net-mvc-3 oauth-2.0

我正在尝试在现有的mvc3应用程序中使用OAUth。我能够使用以下代码验证用户

 [System.Web.Http.AllowAnonymous]
 //This action method is executed after the authentication from Facebook
    public ActionResult ExternalLoginCallback(string returnUrl)
    {
if (!result.IsSuccessful)
        {
            return RedirectToAction("ExternalLoginFailure");
        }

    //Here i'm setting the Authentication cookie 
        FormsAuthentication.SetAuthCookie(result.UserName, false);
        if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
            && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
        {
            return Redirect(returnUrl);
        }
        else
        {
            return RedirectToAction("Index", "Home");
        }
}

上面的代码工作正常。但是我的mvc3应用程序使用asp.net成员资格。我的整个应用程序使用来自数据库的Guid id,但我无法弄清楚如何为OAuth Authenticated Users维护数据库,以便我可以生成guid id。如果我走错了方向纠正我。对此的任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

当您使用 asp.net会员资格时 以下是注册用户的方式

 MembershipUser newUser = Membership.CreateUser(username, Password,Email);

获取用户ID

newUser.ProviderUserKey