Я разработал приложение, используя Spring OAuth2
, где у меня есть Authorization Server
, который отслеживает моих пользователей, и API gateway
, который ведет себя как клиентское приложение и обрабатывает перенаправления на Authorization Server
, чтобы получить opaque token
от него.
Срок действия token
составляет 1 год, в то время как Authorization Server
использует стандартный сеанс (я думаю, 30 минут).Как только пользователь аутентифицирован, все запросы проходят через API gateway
, который затем проверяет token
против Authorization Server
.
Мой вопрос: как вы обрабатываете запросы, которые перенаправляются в Authorization Server
, например, запрос на получение списка пользователей, когда система безопасности, установленная в Authorization Server
, требует от пользователявойти в систему, чтобы иметь доступ к этой конечной точке, и сеанс уже истек, в то время как ваш token
все еще действителен?Я должен перенаправить пользователя, чтобы снова войти в систему Authorization Server
?
. Я думаю, что аналогией здесь будет список друзей в Facebook
.Если бы у меня было приложение, которое использовало Facebook
как Identity Provider
, как бы мне нужно было обрабатывать список друзей моего пользователя, если бы Facebook
продолжал сеанс всего 30 минут, как в моем случае?(На самом деле я не знаю, как Facebook
обрабатывает долгоживущие сеансы, поэтому я был бы признателен, если бы кто-нибудь, кто знает, мог поделиться здесь некоторым светом)
Кроме этого, если бы я добавил второе приложение,какой подход, когда вы хотите, чтобы список пользователей, которые вошли в Identity Provider
для каждого приложения?Нужно ли вести список зарегистрированных пользователей внутри каждого приложения?Что будет id
в этом случае, имея в виду, что пользователь может изменить свой адрес электронной почты, чтобы я не мог использовать его как id
?
РЕДАКТИРОВАТЬ: после проверки Facebook
и Google
APIs
и некоторые приложения, я понял, что они выставляют свои APIs
аутентифицированным приложениям, предоставляющим только действительный токен, даже когда пользователь, который получил токен в первую очередь, больше не вошел в систему. Так что теперь вопрос в том, возможно линастроить Spring Security
для защиты API
на основе сеанса пользователя или токена доступа, предоставленного с использованием Spring OAuth2
?