Достаточно ли безопасна эта реализация и логика для аутентификации на основе токенов? - PullRequest
0 голосов
/ 06 октября 2018

Я новичок, и я реализовал первую версию и логику аутентификации на основе токенов, и я не уверен, достаточно ли она безопасна для использования на производстве.

У меня статический SPAсделано с использованием Vue.js 2, а сторона сервера - с помощью приложения веб-форм ASP.NET VB.net

Я не использовал никаких специальных пакетов .NET для этой задачи из-за недостатка знанийпо этой конкретной концепции

Я использую следующую логику:

  • Я спрашиваю у клиента его имя пользователя и пароль и проверяю, находится ли он в нашей базе данных в порядкечтобы проверить это

  • Если клиент не проверен, я обрабатываю ошибки во внешнем интерфейсе ... если нет, я генерирую токен, который является хешем (секретным ключом) объединения некоторых значенийиз базы данных, такой как имя пользователя + пароль + login_created_at + текущий DateTime.

  • Я отправляю этот токен в виде строки в формате JSON (готов для анализа) вместе с идентификаторомклиентаt (из базы данных), дата истечения срока действия токена и DateTime (использовавшийся ранее в хэше), в котором был сгенерирован токен

  • На внешнем интерфейсе я храню эту строку(объект токена) в локальном хранилище, и я извлекаю его и отправляю обратно на сервер для каждого последующего запроса, используя настраиваемый заголовок

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

  • Оттуда я соответственнорешил предоставить или нет доступ к запрошенному веб-сервису

    1. Достаточно ли безопасна эта логика?

    2. Можно ли изменить этот токен на локальномхранилище?

    3. Я заметил, что если этот объект был перехвачен, скопирован или прочитан, любой мог войти в систему как клиент.Как я могу решить эту проблему?

    4. Я заметил, что если срок действия токена будет изменен на более поздний, клиент или хакер могут оставаться на связи, и токен никогда не истечет.

    5. Есть ли необходимость использовать пакеты .NET или это не решит проблему?Если да, то что это за пакеты?

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