VasyaSmolyar / hmac-token

Алгоритм генерации токена авторизации и его проверки на основе алгоритма HMAC

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HMAC Token

Алгоритм генерации токена авторизации и его проверки без сохранения токена в БД на основе алгоритма HMAC.

  1. Выбираем желаемый период жизни токена (несколько минут, часов, дней и т.д.)
  2. Сохраняем текущее время (далее временная метка)
  3. Генерируем хеш на основе логина юзера, временной метки и значении соли
  4. Передаём клиенту хеш и временную метку
  5. Клиент при выполнении действий, требующих авторизации, посылает хеш, логин и временную метку
  6. На основании логина, соли и временой метки сервер снова генерирует хеш, и сравнивает с хешем от клиента. Если хеши не совпадают, запрос отклоняется
  7. Иначе сравнивается разность текущего времени и временной метки с периодом. Если меньше или равно периоду, то запрос обрабатывается, иначе так же отклоняется

Внимание! В примере для наглядности использован ненадёджный алгоритм хеширования MD5! Рекомендуется использовать более сложные алгоритмы хеширования!

About

Алгоритм генерации токена авторизации и его проверки на основе алгоритма HMAC

License:MIT License


Languages

Language:Python 80.1%Language:HTML 19.9%