Skip to content

ortherion/auth

Repository files navigation

auth-service

Сервис аутентификации пользователей - реализует REST API для логина/логаута и сохранения токенов в куки, и GRPC API для валидации токенов.

Пользовательская история

Пользователь в браузере авторизуется на сервисе auth (эндпоинт /login) с помощью basic-авторизации.

Сервис отправляет access jwt-куку клиенту, в которой содержится его логин, со сроком жизни 1 минута. Дополнительно к этому клиенту отправляется вспомогательная refresh-кука с токеном jwt, который тоже содержит логин пользователя. Кука refresh должна быть действительна в течение 1 часа. По истечении этого срока пользователь считается разлогиненным.

При обращении на эндпоинт /i сервиса auth с переданной access-кукой пользователь может увидеть информацию о себе, полученную при аутентификации, пока это только логин пользователя.

При обращении на /logout пользователь должен разлогиниться: клиенту передается установка пустых кук access и refresh.

В каждом из запросов /login и /logout клиент может опционально указать путь редиректа после логина/логаута в query-параметре ?redirect_uri=... В этом случае сервис должен возвращать клиенту команду на редирект.

Аутентификация обращений на REST API сервиса task валидируется на сервисе аутентификации посредством GRPC-вызовов метода валидации с переданными токенами access и refresh, полученными от клиента из кук. Если в момент любого запроса от клиента refresh кука еще жива / токен жив, а access кука уже протухла / токен протух, то клиенту отправляем обновленные access и refresh куки, полученные из auth сервиса посредством GRPC-метода валидации.

auth

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages