public static void AddApiKeyAuthorizationHeader(this System.Net.Http.Headers.HttpRequestHeaders headers, string clientID, string secret, DateTimeOffset utcNow, TimeBasedTokenGenerator tokenGenerator = null) { tokenGenerator = tokenGenerator ?? _defaultTokenGenerator; string token = Microsoft.AspNetCore.WebUtilities.Base64UrlTextEncoder.Encode(tokenGenerator.ComputeToken(clientID, secret, utcNow)); headers.Add("Authorization", $"TAPIKEY {clientID}:{token}"); }
/// <summary> /// ヘッダーから特定の値を取り出す /// </summary> /// <param name="name">対象の名前</param> /// <returns>結果</returns> public static string GetHeaderValue(string name, System.Net.Http.Headers.HttpRequestHeaders requestheaders) { if (requestheaders == null) { return(null); } foreach (string tempValue in requestheaders.GetValues(name)) { return(tempValue); } return(null); }
private string GetFirstHeaderValue(System.Net.Http.Headers.HttpRequestHeaders httpRequestHeaders, string headerName) { string retVal = null; IEnumerable <String> values = null; if (httpRequestHeaders.TryGetValues(headerName, out values) && values != null) { retVal = values.FirstOrDefault(); } return(retVal); }
/** * Helper function. Returns Time To Live value for a document according to either the value * in seconds corresponding to custom header "Custom-Ttl" or, if no such header exists, a * default value of 30 seconds. * * returns: * int * - Time To Live value to be passed to repository .Add and .Get function parameters. */ private int GetTimeToLive() { int TimeToLive = 30; System.Net.Http.Headers.HttpRequestHeaders headers = Request.Headers; if (headers.Contains("Custom-Ttl")) { String customTtl = headers.GetValues("Custom-Ttl").First(); TimeToLive = Convert.ToInt32(customTtl); } return(TimeToLive); }
public void get(String url) { HttpClientHandler handler = new HttpClientHandler(); handler.CookieContainer.Add(new Cookie("name", "leegean", "/", "baidu.com")); HttpClient httpClient = new HttpClient(handler); System.Net.Http.Headers.HttpRequestHeaders reqHeader = httpClient.DefaultRequestHeaders; reqHeader.Host = "baidu.com"; // 创建一个异步GET请求,当请求返回时继续处理 httpClient.GetAsync(url).ContinueWith( (requestTask) => { if (requestTask.IsFaulted) { Console.WriteLine(requestTask.Exception); } else { HttpResponseMessage response = requestTask.Result; headers = response.Headers; enumerator = headers.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <String, IEnumerable <String> > pair = enumerator.Current; Console.WriteLine(pair.Key + " " + pair.Value); } CookieCollection cookies = handler.CookieContainer.GetCookies(new Uri(url)); foreach (Cookie cookie in cookies) { Console.WriteLine(cookie.Name + " " + cookie.Value); } // 确认响应成功,否则抛出异常 if (response.IsSuccessStatusCode) { response.Content.ReadAsStringAsync().ContinueWith( (readTask) => Console.WriteLine(readTask.Result.Substring(0, 100))); } else if (response.StatusCode != HttpStatusCode.OK) { Console.WriteLine(response.StatusCode + " " + response.ReasonPhrase); } } }); Console.WriteLine("Hit enter to exit..."); //Console.ReadLine(); }
public static bool IsValidated(System.Net.Http.Headers.HttpRequestHeaders headers) { bool blnReturn = false; try { //Verify that the username and API key passed through request are valid if (headers.Authorization != null) { string authenticationToken = headers.Authorization.Parameter; string decodedAuthenticationToken = Encoding.UTF8.GetString(Convert.FromBase64String(authenticationToken)); string[] usernamePasswordArray = decodedAuthenticationToken.Split(':'); string username = usernamePasswordArray[0]; string password = usernamePasswordArray[1]; using (SqlConnection sqlConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["XWTWebConnectionString"].ToString())) { using (SqlCommand sqlCmd = new SqlCommand("dbo.spUserAccounts_VALIDATE", sqlConn)) { sqlConn.Open(); sqlCmd.CommandType = System.Data.CommandType.StoredProcedure; sqlCmd.Parameters.AddWithValue("@UserName", username); sqlCmd.Parameters.AddWithValue("@PasswordAPI", password); SqlParameter outputParameter = new SqlParameter("@Id", SqlDbType.Int); outputParameter.Direction = ParameterDirection.Output; sqlCmd.Parameters.Add(outputParameter); int id = 0; using (SqlDataReader sqlRdr = sqlCmd.ExecuteReader()) { id = Convert.ToInt32(outputParameter.Value); } if (id > 0) { blnReturn = true; } } } } } catch (Exception ex) { //return ex.Message; Console.Write(string.Format("XWTWebAPI.Utilities.IsValidated{0}Error:{1}", Environment.NewLine, ex.Message)); blnReturn = false; } return(blnReturn); }
private bool AddAuthorizationError(System.Net.Http.Headers.HttpRequestHeaders headers, string errorMessage) { try { headers.Add("UnauthorizedMessage", errorMessage); } catch (Exception) { return(false); } return(true); }
public async Task <IHttpActionResult> GetDetail(int id, [FromUri] int currentPage, [FromUri] string search) { string token = ""; System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; if (headers.Contains("token")) { foreach (var s in headers.GetValues("token")) { token = s; } } return(Ok(await repository.GetList(id, currentPage, token, search))); }
public IHttpActionResult GetUserRole(string userName, string userPassword) { try { System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; UserBL user = new UserBL(); var userRole = user.GetUserRole(userName, userPassword); return(Ok(userRole)); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult GetSubCategory(string version, int?CategoryId) { try { #region Authentication Token //System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; //string token = string.Empty; //string pwd = string.Empty; //if (headers.Contains("username")) //{ // token = headers.GetValues("username").First(); //} //if (headers.Contains("password")) //{ // pwd = headers.GetValues("password").First(); //} #endregion System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; string x_StateName = string.Empty; string x_DistrictName = string.Empty; if (headers.Contains("x_StateName")) { x_StateName = headers.GetValues("x_StateName").First(); } if (headers.Contains("x_DistrictName")) { x_DistrictName = headers.GetValues("x_DistrictName").First(); } DataSet ds1 = new DataSet(); //if (CategoryId == 2) //{ // ds1 = LiveStocks.GetCropDetails(version, CategoryId); //} //else //{ ds1 = LiveStocks.GetSubCategories(version, CategoryId, true, x_StateName, x_DistrictName); //} ds1.Tables[0].TableName = "SubCategory"; return(Ok(new { ProductsApiReponse = ds1, Status = true })); } catch (Exception ex) { LogDal.ErrorLog(this.GetType().Name, MethodBase.GetCurrentMethod().Name, ex.Message, 0); return(Ok(new { ProductsApiReponse = "", Status = false })); } }
private string GetAuthorizationError(System.Net.Http.Headers.HttpRequestHeaders headers) { try { headers.TryGetValues("UnauthorizedMessage", out IEnumerable <string> unauthorizedMessages); if (unauthorizedMessages != null && unauthorizedMessages.Count() > 0) { return(unauthorizedMessages.FirstOrDefault()); } } catch (Exception ex) { return(ex.Message); } return(string.Empty); }
public static NetworkCredential ParseHttpBasicAuth(System.Net.Http.Headers.HttpRequestHeaders headers) { var authorizationHeader = headers.Authorization; if (authorizationHeader != null && string.Equals(authorizationHeader.Scheme, HttpBasicAuthScheme, StringComparison.Ordinal)) { string base64 = authorizationHeader.Parameter; byte[] bits = Convert.FromBase64String(base64); string usernameColonPassword = HttpBasicEncoding.GetString(bits); string[] usernameAndPassword = usernameColonPassword.Split(ColonSeparator, 2); if (usernameAndPassword.Length == 2) { return(new NetworkCredential(usernameAndPassword[0], usernameAndPassword[1])); } } return(null); }
public IHttpActionResult GenerateAccessToken() { string bearerAuth = string.Empty; string grantType = string.Empty; System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; if (headers.Contains("Authorization")) { bearerAuth = headers.GetValues("Authorization").First(); if (!IsBearerValid(bearerAuth)) { return(Unauthorized()); } ; } else { return(Unauthorized()); } if (headers.Contains("Grant-type")) { grantType = headers.GetValues("Grant-type").First(); if (!grantType.Equals("client_credentials")) { return(Unauthorized()); } ; } else { return(Unauthorized()); } var response = NameEnquiryLogic.GenerateToken(); if (response != null) { return(Ok(response)); } else { return(NotFound()); } }
public AddProjectResponse AddProject(string partnerName, ProjectDTO projectDTO) { int userIdentifier, userId = -1; try { System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; if (headers.Contains("user-identifier") && int.TryParse(headers.GetValues("user-identifier").First(), out userIdentifier)) { userId = (userIdentifier > 0) ? userIdentifier : -1; } } catch { userId = -1; } // add project inot DB return(new Facade.ProjectFacade().AddProject(partnerName, userId, projectDTO)); }
public IHttpActionResult GetProductsBySearch(string version, string SearchText) { try { System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; string x_StateName = string.Empty; string x_DistrictName = string.Empty; if (headers.Contains("state")) { x_StateName = headers.GetValues("state").First().ToLower(); } if (headers.Contains("district")) { x_DistrictName = headers.GetValues("district").First().ToLower(); } DataSet ds = new DataSet(); DataSet ds1 = new DataSet(); ds = LiveStocks.GetProductsBySearch(version, x_StateName, x_DistrictName, SearchText); ds.Tables[0].TableName = "Product"; var productData = ds.Tables[0].AsEnumerable(); var distinctData = productData.Select(x => x.Field <string>("ProductHindiName")).Distinct(); DataSet ds2 = new DataSet(); ds2.Tables.Add(ds.Tables[0].Copy()); //ds2.Tables.Add(ds1.Tables[0].Copy()); if (ds2.Tables[0].Rows.Count > 0) { return(Ok(new { ProductsApiReponse = ds2, Status = true })); } else { return(Ok(new { ProductsApiReponse = "", Status = false })); } } catch (Exception ex) { LogDal.ErrorLog(this.GetType().Name, MethodBase.GetCurrentMethod().Name, ex.Message, 0); return(Ok(new { ProductsApiReponse = "", Status = false })); } }
public IHttpActionResult DoDebit(DebitRequest req) { string bearerAccessToken = string.Empty; string signature = string.Empty; System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; if (headers.Contains("Authorization")) { bearerAccessToken = headers.GetValues("Authorization").First(); if (!bearerAccessToken.Trim().StartsWith("Bearer ")) { return(Unauthorized()); } ; if (!Utils.IsAccessTokenValid(bearerAccessToken.Replace("Bearer ", ""))) { return(Unauthorized()); } ; } else { return(Unauthorized()); } if (headers.Contains("signature")) { signature = headers.GetValues("signature").First(); if (!IsSignatureValid(signature, req)) { return(Unauthorized()); } ; } else { return(Unauthorized()); } var response = NameEnquiryLogic.DoDebit(req); return(Ok(response)); }
/// <summary> /// Copies headers from one <see cref="System.Net.Http.HttpRequestMessage"/> instance to another. /// </summary> /// <param name="source">The source <see cref="System.Net.Http.HttpRequestMessage"/> to copy from.</param> /// <param name="destination">The destination <see cref="System.Net.Http.HttpRequestMessage"/> to copy to.</param> public static void CopyHeadersTo(this System.Net.Http.Headers.HttpRequestHeaders source, System.Net.Http.Headers.HttpRequestHeaders destination) { if (source == null) { throw new ArgumentNullException(nameof(source)); } if (destination == null) { throw new ArgumentNullException(nameof(destination)); } foreach (var header in source) { if (destination.Contains(header.Key)) { destination.Remove(header.Key); } destination.Add(header.Key, header.Value); } }
public IRequestHeader Parse(System.Net.Http.Headers.HttpRequestHeaders HttpRequestHeaders) { IEnumerable <string> IfNoneExist; if (HttpRequestHeaders.TryGetValues(_IfNoneExistHeader, out IfNoneExist)) { this.IfNoneExist = IfNoneExist.FirstOrDefault(); } IEnumerable <string> IfModifiedSince; if (HttpRequestHeaders.TryGetValues(_IfModifiedSinceHeader, out IfModifiedSince)) { this.IfModifiedSince = IfModifiedSince.FirstOrDefault(); } IEnumerable <string> IfNoneMatchHeader; if (HttpRequestHeaders.TryGetValues(_IfNoneMatchHeader, out IfNoneMatchHeader)) { this.IfNoneMatch = IfNoneMatchHeader.FirstOrDefault(); } IEnumerable <string> IfMatchHeader; if (HttpRequestHeaders.TryGetValues(_IfMatchHeader, out IfMatchHeader)) { this.IfMatch = IfMatchHeader.FirstOrDefault(); } IEnumerable <string> PreferHeader; if (HttpRequestHeaders.TryGetValues(_PreferHeader, out PreferHeader)) { this.Prefer.Set(PreferHeader.FirstOrDefault()); } return(this); }
private string GetCanonicalizedHeaders(System.Net.Http.Headers.HttpRequestHeaders requestHeaders, System.Net.Http.Headers.HttpContentHeaders contentHeaders = null) { string canonicalizedHeaders = ""; //assuming orderby does the lexigraphical ordering required here? var headers = requestHeaders.Where(h => h.Key.StartsWith("x-ms-")); if (contentHeaders != null) { headers = headers.Union(contentHeaders.Where(h => h.Key.StartsWith("x-ms-"))); } headers = headers.GroupBy(g => g.Key).Select(g => g.First()).OrderBy(h => h.Key); foreach (var header in headers) { canonicalizedHeaders += header.Key.ToLower() + ":"; foreach (var headerValue in header.Value) { canonicalizedHeaders += headerValue + ","; } canonicalizedHeaders = canonicalizedHeaders.TrimEnd(',') + "\n"; } return(canonicalizedHeaders.TrimEnd('\n')); }
public dynamic GetPSLogin(dynamic data) { string jsondata = JsonConvert.SerializeObject(data); //token_gen.Authorize_aesdecrpty(data); try { System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; //if (headers.Contains("Ftype") || headers.Contains("FUsername") || headers.Contains("Newpassword") || headers.Contains("Captcha") || headers.Contains("ConfirmCaptch")) //{ // val.Ftype = headers.GetValues("Ftype").First(); // val.FUsername = headers.GetValues("FUsername").First(); // val.Newpassword = headers.GetValues("Newpassword").First(); // val.Captcha = headers.GetValues("Captcha").First(); // val.ConfirmCaptch = headers.GetValues("ConfirmCaptch").First(); // val.Ftype = headers.GetValues("Ftype").First(); // return Ok(_Loginhel.GetLogin(val)); //} string mappath = HttpContext.Current.Server.MapPath("LoginLogs"); Task WriteTask = Task.Factory.StartNew(() => new Logdatafile().Write_Log(mappath, jsondata)); LoginModel root = JsonConvert.DeserializeObject <LoginModel>(jsondata); return(Ok(_Loginhel.GetLogin(root))); //LoginModel val = JsonConvert.DeserializeObject<LoginModel>(jsondata); // return "Success"; } catch (Exception ex) { _response.Status = 102; _response.Reason = _Loginhel.ErrorMessage; return(Ok(_response)); } }
public IHttpActionResult DeleteCSUser(int id) { // sm ------ start System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; if (!headers.Contains("secretkey") || (headers.Contains("secretkey") && headers.GetValues("secretkey").First() != "secret")) { // return Unauthorized(); this does not work as response.IsSuccessStatusCode==true (why????). // return NotFound(); return(BadRequest()); } // sm end CSUser csUser = repository.GetCSUserByID(id); if (csUser == null) { return(NotFound()); } repository.DeleteCSUser(csUser); return(Ok(csUser)); }
// POST api/values //[SwaggerOperation("Create")] //[SwaggerResponse(HttpStatusCode.Created)] public HttpResponseMessage Post([FromBody] Notifications value) { System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; bool authenticated = BasicAuth.Authenticate(headers); if (authenticated == false) { return(new HttpResponseMessage(HttpStatusCode.Unauthorized)); } var context = new SMSDeliveryNotificationsDB(); Notifications notification = new Notifications(); notification.uniqueid = value.number + "/" + DateTime.Now.ToString(); notification.number = value.number; notification.status = value.status; notification.datetime = value.datetime; context.Notifications.Add(notification); context.SaveChanges(); return(new HttpResponseMessage(HttpStatusCode.Accepted)); }
private IApiResult VerificationHeaders(System.Net.Http.Headers.HttpRequestHeaders headers) { if (!headers.Contains("Authorization")) { return(new IApiResult() { code = Interface.StatusCode.accreditation, message = "Lack of authentication parameters.", result = new { a = "a" } }); } string authorization = string.Join("", headers.GetValues("Authorization")); // 格式: Authorization@地图类型 string[] arr = authorization.Split('@'); string[] keys = new string[] { "MGOO", "CARRENT" }; authorization = arr[0]; if (!keys.Contains(authorization) || arr.Length != 2) { return(new IApiResult() { code = Interface.StatusCode.accreditation, message = "Authentication failure." }); } return(null); }
public IHttpActionResult Get(int id) { System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers; string token = string.Empty; string pwd = string.Empty; if (headers.Contains("username")) { token = headers.GetValues("username").First(); } if (headers.Contains("password")) { pwd = headers.GetValues("password").First(); } //code to authenticate and return some thing int userId = _userService.GetByUserNameAndPassword(token, pwd).Id; if (userId == 0) { return(NotFound()); } return(Ok(userId)); }
private static void ReplaceAppToken(this System.Net.Http.Headers.HttpRequestHeaders headers) { const string name = "X-App-Token"; headers.Remove(name); headers.Add(name, GetCoolapkAppToken()); }
public HttpRequestHeaders() { _headers = new HttpRequestMessage().Headers; _headers.Add("existing_simple_header", "existing_value"); _headers.Add("existing_complex_header", new[] { "existing_value_01", "existing_value_02" }); }
internal HttpRequestHeaders(SystemHttpRequestHeaders store, SystemHttpContentHeaders contentHeadersStore) { this.store = store ?? throw new ArgumentNullException(nameof(store)); contentHeaders = new HttpContentHeaders(contentHeadersStore); }
private static String HeadersToString(System.Net.Http.Headers.HttpRequestHeaders headers) { return(String.Join("\n", headers.Select(x => String.Format("\t{0}={1}", x.Key, String.Join(",", x.Value))) )); }
private void SetAuthenticationHeaders(System.Net.Http.Headers.HttpRequestHeaders headers, AuthorizationData auth) { headers.Add("x-xbl-contract-version", "2"); headers.Add("Authorization", $"XBL3.0 x={auth.DisplayClaims.xui[0].uhs};{auth.Token}"); headers.Add("Accept-Language", LocalLang); }
public static void CopyHeadersTo(this System.Net.Http.Headers.HttpRequestHeaders source, System.Net.Http.Headers.HttpRequestHeaders destination) { Helper.Throw(); }