public RedirectToRouteResult AuthCallback() { string qry = System.Web.HttpContext.Current.Request.Url.Query; var qstr = HttpUtility.ParseQueryString(qry); string verifier = qstr["oauth_verifier"]; if (null == verifier || verifier.Length == 0) { //NetLog.WriteTextLog("</br>Invalid PIN." + "</br>" + "-----------------------" + "</br>"); return RedirectToAction("AuthenticationFailed", new { reason = "Invalid PIN." }); } // Build the HTTP request for an access token var request = new RestRequest("OAuth/AccessToken", Method.POST); m_Client.Authenticator = OAuth1Authenticator.ForAccessToken( m_ConsumerKey, m_ConsumerSecret, m_oAuthReqToken, m_oAuthReqTokenSecret, verifier); // Execute the access token request var response = m_Client.Execute(request); // The request for access token is successful. Parse the response and store token,token secret and session handle var qs = HttpUtility.ParseQueryString(response.Content); m_oAuthAccessToken = qs["oauth_token"]; m_oAuthAccessTokenSecret = qs["oauth_token_secret"]; var x_oauth_user_name = qs["x_oauth_user_name"]; var x_oauth_user_guid = qs["x_oauth_user_guid"]; var x_scope = qs["x_scope"]; var xoauth_problem = qs["xoauth_problem"]; var oauth_error_message = qs["oauth_error_message"]; m_sessionHandle = qs["oauth_session_handle"]; OAuthResult result = new OAuthResult(); result.AccessToken = m_oAuthAccessToken; result.AccessTokenSecret = m_oAuthAccessTokenSecret; result.oauth_user_name = x_oauth_user_name; result.oauth_user_guid = x_oauth_user_guid; result.scope = x_scope; result.oauth_problem = xoauth_problem; result.oauth_error_message = oauth_error_message; result.sessionHandle = m_sessionHandle; return RedirectToAction("AuthenticationSucceed", "Authenticate", result); }
public ActionResult AuthenticationSucceed(OAuthResult result) { ViewBag.userId = result.oauth_user_guid; return View(result); }