Предыдущий токен отменяется, когда конечная точка токена вызывается даже до истечения срока действия токена.
Вызывается конечная точка маркера диспетчера API из приложения. Получил токен и вызвал API. В следующий раз при вызове токена до истечения срока действия токена 1 будет отозван токен 1 и сгенерирован новый токен. Разве он не должен отправлять токен 1 без нового токена?
2-й вызов токена отозвал 1-й токен и сгенерировал новый токен. Даже если он сгенерировал новый токен, токен 1 должен быть активен, поскольку срок действия токена не истек.
2 ответа
Это дизайн токенов JWT, и в данный момент всегда будет один активный токен для данной секретной пары идентификатора клиента.
Вот почему всякий раз, когда вы запрашиваете новый токен, токен 1 отзывается. Если вы использовали непрозрачный токен, это отличается, и один и тот же токен будет отправлен в течение всего срока службы этого токена независимо от количества вызовов токена.
Это различие между JWT и непрозрачным заключается в том, что токены JWT имеют большой размер (с дополнительными утверждениями), в базе данных сохраняется только значение JTI по сравнению с непрозрачными токенами, в которых сохраняется весь токен. Из-за этого KM не может сгенерировать один и тот же JWT дважды, поэтому KM не отправляет один и тот же токен, даже если предыдущий токен был действительным. Эта проблема отсутствовала с непрозрачными токенами.
Редактировать:
Вы можете добиться того же секрета идентификатора клиента с несколькими вариантами использования токенов, используя области устройства (или любые другие области). Разница в том,
- Если области действия и секрет clientID совпадают в обоих вызовах токена, 1-й токен будет отозван при втором вызове.
- Если области разные, без отзыва 1-го токена будет создан 2-й токен с другими областями.
Когда вы используете токены JWT в диспетчере API, вот ожидаемое поведение.
Если вы запрашиваете токен из API токена, он всегда предоставляет новый токен и не предоставляет активный токен.
Токен отзывается, когда вы запрашиваете новый токен в последней версии API Manager 4.1.0.
Обновлять:
Вы можете добавить следующую конфигурацию в диспетчер API, чтобы отключить отзыв токена.
[oauth.access_token]
invoke_token_revocation_event_on_renewal = false