Asp.net mvc 如何获取有关standart mvc应用程序的更多信息
当我创建一个新的mvc网站时,它会自动创建AccountController.cs controller。在这个类中,有一个从社交网络登录的操作Asp.net mvc 如何获取有关standart mvc应用程序的更多信息,asp.net-mvc,facebook,twitter,Asp.net Mvc,Facebook,Twitter,当我创建一个新的mvc网站时,它会自动创建AccountController.cs controller。在这个类中,有一个从社交网络登录的操作 [AllowAnonymous] public ActionResult ExternalLoginCallback(string returnUrl) { AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication(Url.Action
[AllowAnonymous]
public ActionResult ExternalLoginCallback(string returnUrl)
{
AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication(Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl }));
if (!result.IsSuccessful)
{
return RedirectToAction("ExternalLoginFailure");
}
if (OAuthWebSecurity.Login(result.Provider, result.ProviderUserId, createPersistentCookie: false))
{
return RedirectToLocal(returnUrl);
}
if (User.Identity.IsAuthenticated)
{
// If the current user is logged in add the new account
OAuthWebSecurity.CreateOrUpdateAccount(result.Provider, result.ProviderUserId, User.Identity.Name);
return RedirectToLocal(returnUrl);
}
else
{
// User is new, ask for their desired membership name
string loginData = OAuthWebSecurity.SerializeProviderUserId(result.Provider, result.ProviderUserId);
ViewBag.ProviderDisplayName = OAuthWebSecurity.GetOAuthClientData(result.Provider).DisplayName;
ViewBag.ReturnUrl = returnUrl;
return View("ExternalLoginConfirmation", new RegisterExternalLoginModel { UserName = result.UserName, ExternalLoginData = loginData });
}
}
我已经添加了twitter机密和api id。但在回调时,我只有用户名。但是我也需要用户的真实姓名信息
同样的事情对于谷歌和facebook的登录也是必要的 大多数社交网络API都有一个端点,用于在使用OAuth令牌进行身份验证后获取额外的用户信息。例如,对于Twitter,端点是-您必须发送令牌和令牌机密(在身份验证时从OAuth提供商获得),并且您将收到Twitter提供的用户信息