Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как обрабатывать публикацию учетных данных пользователя во время входа через пользовательский интерфейс в API

Автор вопроса: Nick OrlowskiОтветов: 1

Я возился с созданием внешнего интерфейса приложения angular, который общается с REST API (ядро .net). Вопрос, который у меня есть на данный момент, касается того, как мне обрабатывать конфиденциальную информацию (имя пользователя/пароль), когда я отправляю данные в API?

Например, сейчас у меня есть внешний интерфейс, который отправляет имя пользователя/пароль в виде обычного текста в теле запроса. Это кажется плохим и не кажется мне безопасным ВООБЩЕ, потому что, если у вас открыты инструменты разработчика, вы можете увидеть кредиты в теле сообщения, например:

{
  "username": "test",
  "password": "test"
}

Затем на бэкэнде я делаю это и сравниваю результат с тем, что сохранено в БД:

string hash = Convert.ToBase64String(KeyDerivation.Pbkdf2(
    password: password,
    salt: salt,
    prf: KeyDerivationPrf.HMACSHA1,
    iterationCount: 10000,
    numBytesRequested: 128 / 8
));

Если это совпадение, я отправляю токен, и Боб - ваш дядя, вы вошли в систему.

Как я могу лучше отправлять кредиты из моего UI -> API?

Спасибо!

credentialsauthenticationangular

Ответы

Ответ 1 · рейтинг 1 · Ayush Vipul

Отправка имени пользователя и пароля в основном выполняется при выполнении Http-сообщения.

Запуск вашего приложения на ssl (Https) гарантирует, что ваша передача данных не будет перехвачена.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы