Информация об изменениях

Сообщение HttpListener AuthenticationSchemes.Basic utf-8 от 17.06.2022 8:25

Изменено 17.06.2022 13:43 Разраб

HttpListener AuthenticationSchemes.Basic utf-8
Как заставить это чудо прочитать имя и пароль пользователя в utf-8?
декодируется неверно. видимо считает что только ascii возможны.
      
                if (ctx.User.Identity is HttpListenerBasicIdentity basicIdentity)
                {
                    var login = ctx.Request.Headers["Authorization"].Split(' ');
                    if (!login[0].Equals("Basic", StringComparison.OrdinalIgnoreCase))
                        throw new Exception("ожидается Basic Authorization");

                    string[] userNameAndPassword = UTF8Encoding.UTF8.GetString(Convert.FromBase64String(login[1])).Split(new char[] { ':' }, 2); //<= по-русски
            _ = ctx.User.Identity.Username <= по-китайcки !?

        }
HttpListener AuthenticationSchemes.Basic utf-8
Как заставить это чудо прочитать имя и пароль пользователя в utf-8?
декодируется неверно. видимо считает что только ascii возможны.
      
                if (ctx.User.Identity is HttpListenerBasicIdentity basicIdentity)
                {
                    var login = ctx.Request.Headers["Authorization"].Split(' ');
                    if (!login[0].Equals("Basic", StringComparison.OrdinalIgnoreCase))
                        throw new Exception("ожидается Basic Authorization");

                    string[] userNameAndPassword = UTF8Encoding.UTF8.GetString(Convert.FromBase64String(login[1])).Split(new char[] { ':' }, 2); //<= по-русски
            _ = ctx.User.Identity.Username <= по-китайcки !?

        }


тут https://referencesource.microsoft.com/#System/net/System/Net/WebHeaderCollection.cs,d814c1f1ccad7126
если я правильно понял кодировка не учитывается