Beispiel #1
0
        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;
        }