public OAuthToken GetAccessToken(OAuthToken reqToken, string verifier) { var client = new RestClient(_baseUrl) { Authenticator = OAuth1Authenticator.ForAccessToken(ConsumerKey, ConsumerSecret.To <string>(), reqToken.Token, reqToken.Secret, verifier) }; var response = ExecuteRequest(client, new RestRequest("oauth/access_token")); if (response.ResponseStatus != ResponseStatus.Completed || response.StatusCode != HttpStatusCode.OK) { throw new ETradeAuthorizationFailedException( LocalizedStrings.Str3347Params.Put(response.StatusCode + ": " + response.StatusDescription)); } var qs = HttpUtility.ParseQueryString(response.Content); var token = qs["oauth_token"]; var secret = qs["oauth_token_secret"]; if (token.IsEmpty() || secret.IsEmpty()) { throw new ETradeAuthorizationFailedException(LocalizedStrings.Str3348); } return(new OAuthToken(ConsumerKey, token, secret)); }
public OAuthToken RenewAccessToken(OAuthToken accessToken) { var client = new RestClient(_baseUrl) { Authenticator = OAuth1Authenticator.ForAccessTokenRefresh(ConsumerKey, ConsumerSecret.To <string>(), accessToken.Token, accessToken.Secret, null) }; var response = ExecuteRequest(client, new RestRequest("oauth/renew_access_token")); if (response.ResponseStatus != ResponseStatus.Completed || response.StatusCode != HttpStatusCode.OK) { throw new ETradeAuthorizationRenewFailed( LocalizedStrings.Str3349Params.Put(response.StatusCode + ": " + response.StatusDescription)); } var qs = HttpUtility.ParseQueryString(response.Content); var newToken = qs["oauth_token"]; return(newToken == null ? accessToken : new OAuthToken(ConsumerKey, newToken, qs["oauth_token_secret"])); }
public OAuthToken GetRequestToken() { if (ConsumerKey.IsEmpty() || ConsumerSecret.IsEmpty()) { throw new ETradeException(LocalizedStrings.Str3345); } var client = new RestClient(_baseUrl) { Authenticator = OAuth1Authenticator.ForRequestToken(ConsumerKey, ConsumerSecret.To <string>(), "oob") }; var response = ExecuteRequest(client, new RestRequest("oauth/request_token")); if (response.ResponseStatus != ResponseStatus.Completed || response.StatusCode != HttpStatusCode.OK) { throw new ETradeAuthorizationFailedException( LocalizedStrings.Str3346Params.Put(response.StatusCode + ": " + response.StatusDescription)); } var qs = HttpUtility.ParseQueryString(response.Content); return(new OAuthToken(ConsumerKey, qs["oauth_token"], qs["oauth_token_secret"])); }
public void SetAuthenticator(OAuthToken accessToken) { _authenticator = accessToken == null ? null : OAuth1Authenticator.ForProtectedResource(ConsumerKey, ConsumerSecret.To <string>(), accessToken.Token, accessToken.Secret); }