Поведение времени ожидания сеанса Keycloak при использовании Spring Security Adapter - PullRequest
0 голосов
/ 18 мая 2018

При использовании Keycloak и Spring Security с протоколом OIDC Client сеанс приложения не истекает, когда время ожидания сеанса Keycloak SSO уже истекло.В результате, если пользователь получает доступ к каким-либо частям приложения, защищенным адаптером Keycloak, после истечения срока действия токена доступа Spring Security по-прежнему имеет объект аутентификации.Но когда адаптер Keycloak проверяет, активен ли токен доступа, чего не будет в данный момент, в результате адаптер (класс RefreshableKeycloakSecurityContext.java) пытается получить новый токен доступа, используя имеющийся у него токен обновления.Поскольку токен обновления был аннулирован в Keycloak, адаптер выбрасывает

Refresh token failure status: 400 {"error":"invalid_grant","error_description":"Refresh token expired"}

Таким образом, пользователь по-прежнему может перемещаться и получать доступ к любой части приложения, без необходимости переходить на страницу входа, чтобы повторно-authenticate.

Какие-либо советы / идеи, как мне добиться желаемого поведения, чтобы после истечения сеанса Keycloak SSO пользователь был перенаправлен на страницу входа, а аутентификация Spring стала недействительной?

Spring-Security: 4.0.4.RELEASE
Keycloak Spring Security Adapter: 3.4.2.Final
Keycloak Server: 3.4.3.Final
...