Время жизни Id_token относительно времени жизни access_token (OpenID Connect) - PullRequest
0 голосов
/ 28 сентября 2018

Является ли id_token более продолжительным сроком службы, чем токен доступа?

Здесь предлагается идея, что id_token может иметь короткое время жизни: Каково намерение истечения срока действия идентификатора токена в OpenID Connect?

Однако здесь говоритсячто время жизни id_token по умолчанию установлено на 10 часов для оптимизации производительности.

https://auth0.com/docs/tokens/id-token

Я видел клиентские библиотеки Openidc, которые не разрешают доступ к ресурсам, когда токен доступа или идентификатор токенанедействительный (например, он истек).https://github.com/damienbod/angular-auth-oidc-client

Это правильно?

Какая связь между токеном id и токеном доступа относительно их времени жизни?

1 Ответ

0 голосов
/ 30 мая 2019

Предполагается ли, что id_token имеет более продолжительный срок службы, чем токен доступа?

Нет, обычно нет.

Обычный способ работы с id_token - это просто проверить, что пользователь аутентифицирован, получить информацию о пользователе из этого токена, кэшировать эту информацию и никогда не использовать id_token снова (потому что вы простоне нужно потом).Но ваше клиентское приложение может иметь некоторую логику, связанную с id_token, поэтому вы можете захотеть, чтобы оно работало дольше.Например, упомянутый angular-auth-oidc-client lib использует дату истечения срока действия id_token для выполнения автоматического обновления при истечении срока действия токена.

Здесь идея о том, чторекомендуется, чтобы у id_token было короткое время жизни. Однако здесь говорится, что время жизни id_token установлено по умолчанию на 10 часов

Ну, 10 часов все еще короткое время, хотя IdentityServer4, например, имеет 5 минут по умолчанию .

Какая связь между токеном id и токеном доступа относительно их времени жизни?

Подводя итог: это зависит отВы клиент.Обычно нормально иметь кратковременный id_token, но, например, если вы используете библиотеку angular-auth-oidc-client с неявным низким уровнем, тогда не имеет смысла иметь разные маркеры истечения времени доступа и идентификаторов, и если вы не хотитечтобы выполнить тихое обновление слишком часто, то времени жизни должно хватить, я бы сказал, 1 час или более.

...