Сообщение HttpListener AuthenticationSchemes.Basic utf-8 от 17.06.2022 8:25
Изменено 17.06.2022 13:43 Разраб
HttpListener AuthenticationSchemes.Basic utf-8
Как заставить это чудо прочитать имя и пароль пользователя в utf-8?
декодируется неверно. видимо считает что только ascii возможны.
декодируется неверно. видимо считает что только 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 возможны.
тут https://referencesource.microsoft.com/#System/net/System/Net/WebHeaderCollection.cs,d814c1f1ccad7126
если я правильно понял кодировка не учитывается
декодируется неверно. видимо считает что только 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
если я правильно понял кодировка не учитывается