public override object RequestAction(string action, IDictionary <string, string> query) { if (action == "startOAuth") { Settings.Validate().Filter("ConsumerKey", "ConsumerSecret").ThrowOnError(); if (query["callbackUrl"].IsNullOrWhiteSpace()) { throw new BadRequestException("QueryParam callbackUrl invalid."); } var oauthRedirectUrl = _twitterService.GetOAuthRedirect(Settings.ConsumerKey, Settings.ConsumerSecret, query["callbackUrl"]); return(new { oauthUrl = oauthRedirectUrl }); } else if (action == "getOAuthToken") { Settings.Validate().Filter("ConsumerKey", "ConsumerSecret").ThrowOnError(); if (query["oauth_token"].IsNullOrWhiteSpace()) { throw new BadRequestException("QueryParam oauth_token invalid."); } if (query["oauth_verifier"].IsNullOrWhiteSpace()) { throw new BadRequestException("QueryParam oauth_verifier invalid."); } var oauthToken = _twitterService.GetOAuthToken(Settings.ConsumerKey, Settings.ConsumerSecret, query["oauth_token"], query["oauth_verifier"]); return(new { accessToken = oauthToken.AccessToken, accessTokenSecret = oauthToken.AccessTokenSecret }); } return(new { }); }
public override object ConnectData(string stage, IDictionary <string, object> query) { if (stage == "step1") { return(new { nextStep = "step2", action = "openWindow", url = _twitterService.GetOAuthRedirect(query["consumerKey"].ToString(), query["consumerSecret"].ToString(), query["callbackUrl"].ToString()) }); } else if (stage == "step2") { return(new { action = "updateFields", fields = _twitterService.GetOAuthToken(query["consumerKey"].ToString(), query["consumerSecret"].ToString(), query["oauth_token"].ToString(), query["oauth_verifier"].ToString()) }); } return(new {}); }