Documentation
¶
Overview ¶
Package tokenrevocation — ПРАВИЛО отзыва наших токенов, объявленное один раз.
Почему правило вынесено, а не повторено ¶
Отзыв читают ДВЕ поверхности: авторитет отзыва, отвечающий на вопрос соседа, и читатель предъявленного на публичном слушателе. Правило у них одно, и оно нетривиально: ключей отсечки несколько, действует отзыв ВПЕРЁД, а токен без отметки выпуска не сопоставим ни с какой отсечкой.
Вторая копия разошлась бы молча и разошлась бы там, где расхождение не видно: имя, заведённое в составе утверждений и забытое в одной из копий, даёт клиента, чей отзыв доезжает до одной поверхности и не доезжает до другой, — при том что обе зелены на своих пробах, потому что их фикстуры чеканят состав сами.
Исходов ТРИ, а не два ¶
Отозван · не отозван · СПРОСИТЬ НЕ СМОГЛИ. Третий возвращается ошибкой и никогда не сливается со вторым: смешать их значило бы сделать сбой хранилища неотличимым от отсутствия отзыва, то есть завести мягкий проход при отказе зависимости.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Keys ¶
Keys возвращает ВСЕ ключи отсечки для состава утверждений: субъект и каждое имя закрытого перечня, которое в составе присутствует непустым.
func Revoked ¶
Revoked отвечает, отозван ли токен с этим составом утверждений.
Возвращаемая ошибка — ТРЕТИЙ исход, «спросить не смогли»: вызывающий обязан закрыться сам, а не читать её как «не отозван».
Токен БЕЗ отметки выпуска считается отозванным. Он не сопоставим ни с какой отсечкой — ни с уже стоящей, ни с будущей, — поэтому принять его значило бы завести материал, который отозвать нечем; при сомнении отказ.