Skip to content

delapaska/auth-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

auth-service

Используемые технологии:

  • Go
  • JWT
  • MongoDB

Задание:

Написать часть сервиса аутентификации.

Два REST маршрута:

  • Первый маршрут выдает пару Access, Refresh токенов для пользователя сидентификатором (GUID) указанным в параметре запроса
  • Второй маршрут выполняет Refresh операцию на пару Access, Refreshтокенов

Требования:

Access токен тип JWT, алгоритм SHA512, хранить в базе строго запрещено.

Refresh токен тип произвольный, формат передачи base64, хранится в базеисключительно в виде bcrypt хеша, должен быть защищен от изменения настороне клиента и попыток повторного использования.

Access, Refresh токены обоюдно связаны, Refresh операцию для Access токена можно выполнить только тем Refresh токеном который был выдан вместе с ним.

Принцип работы:

Первый маршрут http://localhost:8080/generate-tokens с ключом user_id. Генерирует Access и Refresh токены(Access токен живёт 1 час), и отправляет их пользователю, также сохранятся bcrypt хеш Access токена в MongoDB. Второй маршрут http://localhost:8080/refresh-tokens содержите два ключа: user_id и refresh_token. По этим данным выдаёт пользователю новые токены, а также обновляет bcrypt хеш. Также в коде расписаны обработчики ошибок, которые сообщаются пользователю при вводе неправильной информации

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages