public void Should_Sign_Example_Request_Details_From_Specification() { string url = "http://photos.example.net/photos"; string consumerKey = "dpf43f3p2l4k3l03"; string consumerSecret = "kd94hf93k423kf44"; string token = "nnch734d00sl2jdk"; string tokenSecret = "pfkkdhi9sl3r4s00"; string nonce = "kllo9940pd9333jh"; string timestamp = "1191242096"; var authDetails = new OpenAuthorizationDetails(consumerKey, consumerSecret) { Token = token, TokenSecret = tokenSecret }; var httpRequest = new HttpRequestDetails(url); httpRequest.QueryParameters.Add("size", "original"); httpRequest.QueryParameters.Add("file", "vacation.jpg"); var signature = new OpenAuthorizationSignatory(authDetails); var signatureHeader = signature.Sign(httpRequest, nonce, timestamp); const string EXPECTED_HEADER = "OAuth realm=\"http://photos.example.net/photos\", oauth_consumer_key=\"dpf43f3p2l4k3l03\", oauth_token=\"nnch734d00sl2jdk\", oauth_nonce=\"kllo9940pd9333jh\", oauth_timestamp=\"1191242096\", oauth_signature_method=\"HMAC-SHA1\", oauth_version=\"1.0\", oauth_signature=\"tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D\""; Assert.That(signatureHeader.Value, Is.EqualTo(EXPECTED_HEADER)); }
public void Should_Construct_Request_Details_From_String_Url() { var url = "http://svnbook.red-bean.com/en/1.5/svn.basic.repository.html#svn.basic.repository.dia-1"; var request = new HttpRequestDetails(url); Assert.That(request.Uri.ToString(), Is.SameAs(url)); }
public IRaygunMessageBuilder SetHttpDetails(HttpRequestDetails message) { if (message != null) { _raygunMessage.Details.Request = new RaygunWebApiRequestMessage(message); } return(this); }
public static async Task <HttpRequestDetails> GetRequestDetailsAsync(this HttpContext context) { var httpDetails = new HttpRequestDetails { Controller = context.GetRouteValue("controller").ToString(), Action = context.GetRouteValue("action").ToString(), Route = context.Request.Path.Value, Method = context.Request.Method, QueryString = context.Request.QueryString.ToString(), Body = await context.GetRequestBodyAsStringAsync() }; return(httpDetails); }
private string GenerateOpenAuthorization(HttpRequestDetails httpRequest, string signatureMethod, string nonce, string timestamp) { QueryParameterCollection signatureParameters = new QueryParameterCollection(); foreach (var queryParameter in httpRequest.QueryParameters) { signatureParameters.Add(queryParameter); } signatureParameters.Add(new QueryParameter(OAuthVersionKey, OAuthVersion)); signatureParameters.Add(new QueryParameter(OAuthNonceKey, nonce)); signatureParameters.Add(new QueryParameter(OAuthTimestampKey, timestamp)); signatureParameters.Add(new QueryParameter(OAuthSignatureMethodKey, signatureMethod)); signatureParameters.Add(new QueryParameter(OAuthConsumerKeyKey, openAuthorizationDetails.ConsumerKey)); return string.Empty; }
public HttpHeader Sign(HttpRequestDetails httpRequest, string nonce, string timestamp) { return new HttpHeader(HttpHeader.KnownHeaders.Authorization, GenerateOpenAuthorization(httpRequest, SignatureMethod.HmacSha1, nonce, timestamp)); }
public HttpHeader Sign(HttpRequestDetails httpRequest) { return Sign(httpRequest, GenerateNonce(), GenerateTimestamp()); }