Устал уже биться над проблемой, поиск в интернет не дал результата. Имеется Basic авторизация веб-апи. Нужно считать логин и пароль пользователя, чтобы использовать их для дальнейших запросов к другому сервису.
Использую функцию:
public JObject GetAuthorizationData()
{
JObject obj = new JObject(new JProperty("Username", ""), new JProperty("Password", ""), new JProperty("AuthorizationString", ""), new JProperty("isAutorized", false));
HttpContext httpContext = HttpContext.Current;
string authHeader = httpContext.Request.Headers["Authorization"];
if (authHeader != null && authHeader.StartsWith("Basic"))
{
obj["AuthorizationString"] = authHeader;
obj["isAutorized"] = true;
string encodedUsernamePassword = authHeader.Substring("Basic ".Length).Trim();
System.Text.Encoding w1251 = System.Text.Encoding.GetEncoding(1251);
byte[] Fr64 = Convert.FromBase64String(encodedUsernamePassword);
string usernamePassword = w1251.GetString(Fr64);
int seperatorIndex = usernamePassword.IndexOf(':');
obj["Username"] = usernamePassword.Substring(0, seperatorIndex);
obj["Password"] = usernamePassword.Substring(seperatorIndex + 1);
}
return obj;
}
Если логин и пароль на латиннице - все Ок, Но если на кириллице, то для "Иванов Иван" на выходе получаю "\u001820=>2 \u001820=". Массив Fr64: 24 50 48 61 62 50 32 24 50 48 61 58 24 50 48 61 62 50 32 24 50 48 61 Помогите, пожалуйста.
В небольшом приложении получаю данные из SQL во ViewModel напрямую через SqlCommandExecuteReaderAsync() и SqlDataReader