гетвей для мобилки
И один сервис авторизации
По идее я отправляю логин и пароль и получаю токен
Но нужно сделать так, что бы в веб приложении могли авторизоваться только пользователи с ролью admin
Сервис авторизации просто проверяет логин и пароль и выдает токен
Должен ли он определять, выдавать пользователю доступ или нет?
Или это ответственность гетвеев?
Если это ответственность гетвеев, как тогда организовать авторизацию?
Пока думаю сделать так
- Гетвей делает запрос сервису авторизации для проверки логина и пароля
- Сервис авторизации возвращает данные пользователя
- Если прав достаточно, гетвей делает запрос для получения токена. Но здесь вопрос, гетвею нужно снова передать логин и пароль или он может просто отправить данные пользователя и получить токен?
Размышляю так Если делегировать ответственность распределения доступа сервису авторизации, будет сложно масштабироваться Например если появится еще какой нибудь гетвей Если этим занимается гетвей, мне нужно сначала проверить роль пользователя и только потом сгенерировать токен Значит, для этих действий нужно сделать два отдельных запроса Если запрос на получение токена делать без авторизационных данных пользователя, любой сервис сможет сгенерить их сколько угодно (не норма)
Авторизцию сервис должен выдавать не всем подряд, а только тем, кто уже изначально был авторизован по некой специльной audience в jwt, причём авторизовать он может только для ограниченных audience
То есть можно сделать так - Гетвей делает запрос сервису авторизации для проверки логина и пароля - Сервис авторизации возвращает данные пользователя и jwt - Гетвей проверяет доступ и делает запрос на получение токена. вместе с запросом отправляет jwt - Сервис создает сессию и отправляет токен ??
Обсуждают сегодня