#curity
#curity
Вопрос:
Как я могу определить, как давно был выпущен токен обновления на сервере Curity Identity? У меня есть пользовательская процедура обновления токена, которая проверяет, context.presentedToken.issuedAt
но это всегда происходит сейчас, а не когда был выпущен токен обновления. Это ошибка или как я должен это сделать?
Ответ №1:
Выданное утверждение at ( issuedAt
) представленного токена должно сообщить вам, когда оно было выпущено; однако в версиях до 5.4.0 включительно была ошибка, из-за которой всегда выставлялось текущее время для предъявленного требования issued at токена (т. Е. Время обновления). Это легко обойти, используя утверждение not-before ( notBefore
) . Если вы используете сборку новее, чем 5.4, вы можете использовать issuedAt
presentedToken
вместо этого объект контекста; оба имеют одинаковое значение, поэтому нет проблем с обновлением, если вы использовали not-before и не сделали ничего особенного для этого во время выпуска.
(В некоторой степени связанный, вы также можете получить время с момента выдачи первоначального делегирования. Следующий фрагмент также показывает это.)
Просто добавьте это в свою процедуру, и она должна работать с любой версией Curity:
var now = new Date() / 1000;
var secondsSinceOriginalIssuance = now - context.presentedToken.delegation.data.created;
var secondsSinceLastRefresh = now - context.presentedToken.notBefore;