public string GetSignature(IConsumer consumer, IUser user, Uri uri, string verb, IConsumer consumer1) { var token = new Token { ConsumerKey = consumer.ConsumerKey, ConsumerSecret = consumer.ConsumerSecret, TokenKey = consumer.ConsumerKey }; return new RsaSha1Signer().CreateSignature(_certificate, token, uri, verb); }
public Task<string> GetSignatureAsync(IConsumer consumer, IUser user, Uri uri, string verb, IConsumer consumer1) { var token = new Token { ConsumerKey = consumer.ConsumerKey, ConsumerSecret = consumer.ConsumerSecret, TokenKey = consumer.ConsumerKey }; return Task.FromResult(RsaSha1Signer.CreateSignature(_certificate, token, uri, verb)); }
public async Task<IToken> GetTokenAsync(string baseUri, IToken consumer, string endPoint, string header) { var req = new HttpClient(baseUri) { UserAgent = "Xero Api wrapper - " + consumer.ConsumerKey }; if (_clientCertificate != null) req.ClientCertificate = _clientCertificate; req.AddHeader("Authorization", header); var response = await req.PostAsync(endPoint, string.Empty); if (response.StatusCode != HttpStatusCode.OK) { throw new OAuthException(response.Body); } var qs = HttpUtility.ParseQueryString(response.Body); var expires = qs["oauth_expires_in"]; var session = qs["oauth_session_handle"]; var token = new Token(consumer.ConsumerKey, consumer.ConsumerSecret) { TokenKey = qs["oauth_token"], TokenSecret = qs["oauth_token_secret"], OrganisationId = qs["xero_org_muid"] }; if (!string.IsNullOrWhiteSpace(expires)) { token.ExpiresAt = DateTime.UtcNow.AddSeconds(int.Parse(expires)); } if (!string.IsNullOrWhiteSpace(session)) { token.Session = session; token.SessionExpiresAt = DateTime.UtcNow.AddSeconds(int.Parse(qs["oauth_authorization_expires_in"])); } return token; }
public XeroRequestTokenAdapter(Token token) : base(token) { }
protected Task<IToken> GetRequestTokenAsync(IConsumer consumer) { var token = new Token { ConsumerKey = consumer.ConsumerKey, ConsumerSecret = consumer.ConsumerSecret }; var requestTokenOAuthHeader = GetAuthorization(token, "POST", Tokens.RequestUri, callback: CallBackUri); return Tokens.GetRequestTokenAsync(consumer, requestTokenOAuthHeader); }