Предыдущий токен отменяется, когда конечная точка токена вызывается даже до истечения срока действия токена.

Вызывается конечная точка маркера диспетчера API из приложения. Получил токен и вызвал API. В следующий раз при вызове токена до истечения срока действия токена 1 будет отозван токен 1 и сгенерирован новый токен. Разве он не должен отправлять токен 1 без нового токена?

2-й вызов токена отозвал 1-й токен и сгенерировал новый токен. Даже если он сгенерировал новый токен, токен 1 должен быть активен, поскольку срок действия токена не истек.

2 ответа

Это дизайн токенов JWT, и в данный момент всегда будет один активный токен для данной секретной пары идентификатора клиента.

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

Это различие между JWT и непрозрачным заключается в том, что токены JWT имеют большой размер (с дополнительными утверждениями), в базе данных сохраняется только значение JTI по ​​сравнению с непрозрачными токенами, в которых сохраняется весь токен. Из-за этого KM не может сгенерировать один и тот же JWT дважды, поэтому KM не отправляет один и тот же токен, даже если предыдущий токен был действительным. Эта проблема отсутствовала с непрозрачными токенами.

Редактировать:

Вы можете добиться того же секрета идентификатора клиента с несколькими вариантами использования токенов, используя области устройства (или любые другие области). Разница в том,

  1. Если области действия и секрет clientID совпадают в обоих вызовах токена, 1-й токен будет отозван при втором вызове.
  2. Если области разные, без отзыва 1-го токена будет создан 2-й токен с другими областями.

Когда вы используете токены JWT в диспетчере API, вот ожидаемое поведение.

  1. Если вы запрашиваете токен из API токена, он всегда предоставляет новый токен и не предоставляет активный токен.

  2. Токен отзывается, когда вы запрашиваете новый токен в последней версии API Manager 4.1.0.

Обновлять:

Вы можете добавить следующую конфигурацию в диспетчер API, чтобы отключить отзыв токена.

      [oauth.access_token]
invoke_token_revocation_event_on_renewal = false
Другие вопросы по тегам