Keycloak OpenID Connect - PullRequest
       82

Keycloak OpenID Connect

0 голосов
/ 13 февраля 2019

Я новичок в OpenID Connect и keycloak.

У меня есть два вопроса: нужно ли моему приложению проверять у поставщика openid connect (OP) - Keycloak в этом случае для каждого вызова API моего приложения?Это может вызвать большую нагрузку на OP.Или же мое приложение должно полагаться на истечение срока действия токена, который был получен, когда пользователь впервые попытался подключиться к моему приложению?

Если мое приложение (RP) полагается на истечение срока действия токена, как будет отзыватьсяпользователь на ОП будет работать?Знает ли мое приложение об отзыве только после истечения срока действия токена или ОП уведомляет зарегистрированное приложение об отзыве пользователя?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Проверка по OP зависит от ваших точных требований и типа токена, который вы используете.Если вы хотите, чтобы информация о конечном пользователе была связана с токеном доступа, вы должны вызвать конечную точку информации о пользователе.Это можно сделать только тогда, когда токен доступа действителен.Конечная точка самоанализа может использоваться только для проверки токена доступа.

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

Что касается отзыва пользователя, не существует стандартного способа обнаружить это, кроме использования стандартного API (самоанализ токена, конечная точка userinfo).Даже проверка JWT не позволяет вам проверить такую ​​ситуацию.Но, имея более короткое время жизни токена (например, - 30 минут) и используя токен обновления, вы можете обнаружить такую ​​ситуацию.Запрос на обновление токена должен завершиться неудачно, если связанный пользователь отозван.!

0 голосов
/ 13 февраля 2019

Нет, ваше приложение может проверять токены в автономном режиме с помощью открытого ключа области выдачи, которую Keycloak предоставляет через свой API.

Вы можете найти это в документах: https://www.keycloak.org/docs/latest/securing_apps/index.html#validating-access-tokens

В этом случае вы должны полагаться на истечение срока действия токена.Обычно это не должно быть большой проблемой, когда срок годности невелик.Когда ваше приложение проверяет токены локально, в настоящее время я не знаю ни одного решения, чтобы получить уведомление об отзыве.Если короткое время истечения токена недостаточно для решения этой проблемы, необходимо вызывать конечную точку самоанализа токена для каждого запроса.

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