如何获得关于标准mvc应用程序的twitter更多信息

时间:2014-03-02 14:18:57

标签: asp.net-mvc facebook twitter

当我创建一个新的mvc网站时,它会自动创建AccountController.cs控制器。在这个课程中,有一个从社交网络登录的动作。

    [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 secret和api id。但在回调中我只有用户名。但我也想要用户的真实姓名信息。

google和facebook登录也是必要的。

1 个答案:

答案 0 :(得分:0)

大多数社交网络API都有一个端点,用于在使用OAuth令牌进行身份验证后获取其他用户信息。例如,对于Twitter,端点为https://dev.twitter.com/docs/api/1.1/get/account/verify_credentials - 您必须发送令牌和令牌密钥(您在验证时从OAuth提供商处获得),您将收到Twitter提供的用户信息。