public static AuthorizationHeader GetAuthorizationHeader(this IOwinRequest request) { var authorizationHeader = new AuthorizationHeader(); var header = request.Headers[OAuthConstants.AuthorizationHeader]; if (string.IsNullOrWhiteSpace(header)) { return(authorizationHeader); } var schemeSeparatorIndex = header.IndexOf(' '); authorizationHeader.Scheme = header.Substring(0, schemeSeparatorIndex); var headerParameter = header.Substring(schemeSeparatorIndex + 1); foreach (var pair in headerParameter.Split(',')) { var keyValue = pair.Split('='); var key = keyValue[0].Trim(); // Ignore unknown parameters if (!OAuthConstants.OAuthParameters.Any(p => p.Equals(key))) { continue; } var value = WebUtility.UrlDecode(keyValue[1].Trim('"')); authorizationHeader.Parameters.AddParameter(key, value); } return(authorizationHeader); }
public static AuthorizationHeader GetAuthorizationHeader(this IOwinRequest request) { var authorizationHeader = new AuthorizationHeader(); var header = request.Headers[OAuthConstants.AuthorizationHeader]; if (string.IsNullOrWhiteSpace(header)) return authorizationHeader; var schemeSeparatorIndex = header.IndexOf(' '); authorizationHeader.Scheme = header.Substring(0, schemeSeparatorIndex); var headerParameter = header.Substring(schemeSeparatorIndex + 1); foreach (var pair in headerParameter.Split(',')) { var keyValue = pair.Split('='); var key = keyValue[0].Trim(); // Ignore unknown parameters if (!OAuthConstants.OAuthParameters.Any(p => p.Equals(key))) continue; var value = WebUtility.UrlDecode(keyValue[1].Trim('"')); authorizationHeader.Parameters.AddParameter(key, value); } return authorizationHeader; }