Почему токены множественного доступа работают в Keycloak? - PullRequest
0 голосов
/ 30 апреля 2019

Я проверяю Keycloak и пытаюсь защитить службу REST, написанную на Springboot. Я нашел образец в Github, и он работал. Вопрос: как только я получу новый токен доступа через токен обновления, я все еще смогу использовать старый токен доступа.

Я настроил адаптер Springboot для Keycloak и попытался установить срок жизни токена доступа в Keycloak на две минуты через веб-портал для соответствующего клиента.

Это нормальное поведение? любые предложения будут полезны.

Ответы [ 2 ]

1 голос
/ 03 мая 2019

В случае keycloak он не делает недействительным ранее выданный токен доступа. Вы можете проверить это, просмотрев вкладку сессий:

enter image description here

В моем случае я вошел в систему с помощью administrator_user из 2 разных браузеров и, в свою очередь, получил 2 access_tokens, оба из которых были действительны.

enter image description here

Поскольку токен доступа является JWT, который самодостаточен и имеет поле времени истечения. Он действует до истечения времени истечения.

Один из вариантов использования, который я вижу за этим, - это когда вы хотите использовать одну и ту же учетную запись пользователя на нескольких устройствах. Например. Подумайте о Gmail (не то, что он использует Keycloak, но общий пример). При входе на сайт Gmail для настольных компьютеров вы не хотите выходить из своего мобильного приложения Gmail.

1 голос
/ 03 мая 2019

Это поведение совершенно нормально.

Токены доступа действуют до истечения времени, установленного в токене. Токены доступа недолговечны и обновляют токены дольше.

Это не имеет значения - вы можете сгенерировать столько токенов доступа, сколько захотите, через токен обновления. Все токены будут работать, пока их ttl не будет достигнут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...