как защитить мои учетные данные базовой аутентификации Web API - PullRequest
0 голосов
/ 23 апреля 2019

Я только начал внедрять Аутентификацию в своем веб-API. Я хочу начать с базовой аутентификации

Я узнал, что должен передавать имя пользователя и пароль при каждом запросе.
Итак, допустим, я делаю какую-то задачу администратора и выполняю API-вызов для того же самого:

 $.ajax({
          url: host + "homework/delete/" + $(this).data("id"),
          type: 'DELETE',
          headers:
                    {
                        Authorization: 'Basic ' + btoa(username + ':' + password)
                    },
          success: function (d) {
                   $tr.remove();
          },
          error: function () {
                 alert("Error please try again");
          }
  });

Итак, хотя мое имя пользователя / пароль находится в переменной, но их значение должно быть на странице (источник). тот, кто заходит на эту страницу, может видеть эти учетные данные.
Это означает, что любой, кто узнает URL этой страницы, сможет увидеть учетные данные.

Если я добавлю страницу входа, как мне проверить на странице администратора, что этот пользователь аутентифицирован. Должен ли я использовать куки? установить что-то, если пользователь заходит на страницу входа?

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Я думаю, вы должны выбрать другой подход:

  1. создать приложение на стороне сервера с пользовательским интерфейсом (PHP, Java, ...)
  2. это приложение имеет управление сеансом
  3. учетные данные хранятся в конфигурации приложения на стороне сервера
  4. запросы к службе, защищенной с помощью базовой аутентификации, выполняются приложением сервера. Ответы доставляются клиенту

Нельзя скрыть учетные данные, если вы создаете клиентское приложение JavaScript. Другая проблема, связанная с вашим подходом, может заключаться в следующем: поддерживает ли защищенный сервис CORS (совместное использование ресурсов из разных источников)?

0 голосов
/ 24 апреля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...