Обычная проверка подлинности с помощью HttpClient в C # без жесткого пароля - PullRequest
0 голосов
/ 29 октября 2019

Я вызываю API с System.Net.Http.HttpClient и использую базовую аутентификацию. Клиент работает как служба Windows. Я ищу способ вызвать API с базовой аутентификацией.

Я знаю, что могу использовать что-то вроде

var base64String=; client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", EncodeBase64(GetBytes("username:password")));

Я не хочу вводить, имя пользователя и пароль или учетные данные, закодированные в base 64. Можно ли получить учетные данные текущего пользователя, чтобы учетные данные не сохранялись в приложении (в файлах конфигурации или в коде).

Я не хочу сохранять учетные данные в приложении, поскольку оноутомительный процесс во время настройки для редактирования файла конфигурации (или там, где сохраняются учетные данные) и добавления учетных данных, также небезопасно иметь учетные данные в файле конфигурации, так как он удобочитаем.

1 Ответ

1 голос
/ 29 октября 2019

Я бы посоветовал вам не кодировать эти учетные данные жестко и желательно получать их из таких вещей, как база данных, где они надежно хэшируются. Если вы просто не хотите вводить имя пользователя и пароль или эквивалентный код 64, то я предлагаю вам рассмотреть другие варианты, кроме базовой аутентификации.

Другими вариантами могут быть аутентификация Windows, Azure или даже клиент. сертификаты.

...