Выход из системы Keycloak Gatekeeper через / oauth / logout не работает - PullRequest
0 голосов
/ 08 ноября 2019

Я использую Keycloak Gatekeeper для защиты простого интерфейсного веб-приложения, и оно работает хорошо;пользователи должны войти в систему, прежде чем они попадут на действительный сайт. Когда я использую URL / oauth / logout, кажется, что он уничтожает локальный сеанс в приложении, но фактически не выходит из системы. В следующий раз, когда я обновлюсь, пользователь снова войдет в систему.

Я проверял журналы гейткипера keycloak, и всякий раз, когда я нажимаю на URL выхода из системы, я вижу это;

error invalid response from revocation endpoint {"status": 400, "response": "{\"error\":\"invalid_grant\",\"error_description\":\"Invalid refresh token\"}"}

error no session found in request, redirecting for authorization {"error": "authentication session not found"}

info issuing access token for user {"email": "test@test.com", "expires": "2019-11-08T12:11:35Z", "duration": "4m59.409151193s"}

Похоже, что он пытаетсявызвать URL-адрес отзыва, не удается, а затем просто снова входит в систему. Вопрос в том, почему не удается вызвать URL-адрес отзыва. Я не настраивал ничего кастомного, это просто брелок + брелок-привратник, в значительной степени из коробки.

Кто-нибудь может пролить свет на это?

Вот привратникconfig (развернут в Kubernetes);

secure-cookie: false
client-id: dashboard
client-secret: xxx
discovery-url: https://xxx/auth/realms/dashboard
enable-default-deny: true
encryption_key: xxx
listen: 0.0.0.0:3000
redirection-url: https://domain.tld
upstream-url: http://127.0.0.1:80

1 Ответ

0 голосов
/ 10 ноября 2019

Invalid refresh token => вам нужно включить токены обновления:

enable-refresh-tokens: true
encryption-key: <your enryption key>
...