private static string[] ParseAuthHeader(string authHeader)
{
if (string.IsNullOrEmpty(authHeader) || !authHeader.StartsWith("Basic"))
return null;
var base64Credentials = authHeader.Substring(6);
var credentialsText = Encoding.ASCII.GetString(Convert.FromBase64String(base64Credentials));
var credentials = credentialsText.Split(new[] { ':' });
if (credentials.Length != 2 || string.IsNullOrEmpty(credentials[0]) || string.IsNullOrEmpty(credentials[1]))
return null;
return credentials;
}