Documentation
¶
Overview ¶
Package callerorigin — ЧЕМ названа личность вызывающего на этом запросе.
Зачем отдельный носитель ¶
Личность вызывающего доезжает до решающих звеньев одним и тем же носителем (`operations.Principal`), и по нему НЕЛЬЗЯ узнать, откуда она взялась: личность, переданная нашим краем, и личность, доказанная предъявленным удостоверением, читаются одинаково. Пока происхождение не выражено, звено, которому оно нужно, вынуждено выводить его косвенно — по наличию модульного сертификата, по форме метаданных, — то есть угадывать.
Носитель нейтрален намеренно: его пишет читатель предъявленного, а читает политика вызывающего, и ни один из них не обязан знать про другого. Прямая зависимость между ними связала бы решение о ПРАВЕ ЗВАТЬ с реализацией проверки удостоверения — двумя предметами, которые меняются порознь.
Пустое значение означает «не назван», а не «назван никем» ¶
Отсутствие пометки — законное и частое состояние: так выглядит всякий запрос прежнего пути. Поэтому у чтения два результата, и второй обязателен: «пометки нет» и «пометка есть» смешивать нельзя, иначе умолчание станет утверждением.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AssuranceFrom ¶
AssuranceFrom возвращает уровень доверия и признак его присутствия.
func IsPresentedCredential ¶
IsPresentedCredential — сокращение для точки решения: личность доказана предъявленным удостоверением.
func WithAssurance ¶
WithAssurance кладёт УРОВЕНЬ ДОВЕРИЯ, с которым вызывающий аутентифицировался.
Значение приходит из предъявленного удостоверения и кладётся сюда ТОЛЬКО после того, как удостоверение проверено целиком: иначе оно было бы утверждением предъявителя о себе, а на утверждениях предъявителя порог доверия не держится. Пустое значение — законное состояние: удостоверение вправе не называть уровня, и такой вызывающий ранжируется как не прошедший ни одного.