Использование OAuth 2.0 в микросервисной архитектуре¶

Последовательность событий для API-клиента выглядит так.
- Клиент делает запрос, предоставляя свои учетные данные в процессе HTTP-аутентификации.
- API-шлюз делает запрос типа OAuth 2.0 Password Grant к серверу аутентификации.
- Сервер аутентификации проверяет учетные данные API-клиента и возвращает токены доступа и обновления.
- API-шлюз включает токен доступа в запросы, которые он отправляет сервисам. Сервис проверяет токен доступа и использует его для авторизации запроса.
API-шлюз, основанный на OAuth 2.0, может задействовать токен доступа в качестве токена сеанса, чтобы аутентифицировать клиентов сеансового типа.

Последовательность событий выглядит так.
- Клиент, требующий входа в систему, передает шлюзу свои учетные данные методом POST.
- Объект LoginHandler API-шлюза направляет запрос на выдачу пароля серверу аутентификации.
- Сервер аутентификации проверяет учетные данные клиента и возвращает токены доступа и обновления.
- Шлюз возвращаеттокены доступа и обновления клиенту, например в виде cookie.
- Клиент включает токены доступа и обновления в запросы, которые делает к API-шлюзу.
- Перехватчик аутентификации сеанса шлюза проверяет токен доступа и включает его в запросы к сервисам.
Если токен доступа просрочен, API-шлюз получает новый токен, выполняя запрос типа OAuth 2.0 Refresh Grant и указывая токен обновления. Если токен обновления не был просрочен или отозван, сервер авторизации возвращает новый токен доступа, а шлюз передает его сервисам и возвращает клиенту.
Важное преимущество OAuth 2.0 в том, что это устоявшийся стандарт безопасности, и можно использовать готовый сервер аутентификации
Последнее обновление :
8 апреля 2023 г.
Дата создания : 2 августа 2022 г.
Дата создания : 2 августа 2022 г.