protected async Task <TumblrCredentials> GetAccessToken(TumblrClientCredentials clientCredentials, string webAuthResultResponseData, string tokenSecret) { string responseData = webAuthResultResponseData.Substring(webAuthResultResponseData.IndexOf("oauth_token", StringComparison.Ordinal)); if (responseData.EndsWith("#_=_")) { responseData = responseData.Substring(0, responseData.Length - 4); } string requestToken = null, oauthVerifier = null; String[] keyValPairs = responseData.Split('&'); foreach (string t in keyValPairs) { String[] splits = t.Split('='); switch (splits[0]) { case "oauth_token": requestToken = splits[1]; break; case "oauth_verifier": oauthVerifier = splits[1]; break; } } var authorizer = new OAuthAuthorizer(clientCredentials); var accessToken = await authorizer.GetAccessToken(AccessTokenUrl, new RequestToken(requestToken, tokenSecret), oauthVerifier).ConfigureAwait(false); return(new TumblrCredentials(accessToken.Token.Key, accessToken.Token.Secret)); }
public override DelegatingHandler Setup(TumblrClientDetail clientDetail, TumblrClientCredentials client, HttpMessageHandler handler) { if (string.IsNullOrWhiteSpace(AccessToken)) { clientDetail.UseApiKey = true; } return(handler == null ? new OAuth2HeaderHandler(this) : new OAuth2HeaderHandler(this, handler)); }
public override DelegatingHandler Setup(TumblrClientDetail clientDetail, TumblrClientCredentials client, HttpMessageHandler handler) { if (string.IsNullOrWhiteSpace(Key) || string.IsNullOrWhiteSpace(Secret)) { clientDetail.UseApiKey = true; } else { clientDetail.AccessToken = new AccessToken(Key, Secret); } return(handler == null ? new OAuthMessageHandler(client, clientDetail.AccessToken) : new OAuthMessageHandler(handler, client, clientDetail.AccessToken)); }
public TumblrClient(HttpMessageHandler handler, TumblrClientCredentials client, TumblrBaseCredentials token) { if (client == null) { throw new ArgumentNullException(nameof(client)); } ClientDetail = new TumblrClientDetail { ClientCreds = client }; if (token != null) { handler = token.Setup(ClientDetail, client, handler); } else { ClientDetail.UseApiKey = true; } ClientDetail.Client = handler == null ? new HttpClient() : new HttpClient(handler); ClientDetail.OnError = HandleError; }
public TumblrClient(TumblrClientCredentials client, TumblrBaseCredentials token) : this(null, client, token) { }
public TumblrClient(HttpMessageHandler handler, TumblrClientCredentials client) : this(handler, client, null) { }
public TumblrClient(TumblrClientCredentials client) : this(null, client) { }
public abstract DelegatingHandler Setup(TumblrClientDetail clientDetail, TumblrClientCredentials client, HttpMessageHandler handler);
protected TumblrLogin(TumblrClientCredentials consumer, Uri callbackUri, Func <Uri, Uri, Task <string> > webBrokerCall) { Consumer = consumer; ContactWebAuthenticationBroker = webBrokerCall; CallbackUri = callbackUri; }