callerorigin

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2026 License: AGPL-3.0 Imports: 1 Imported by: 0

Documentation

Overview

Package callerorigin — ЧЕМ названа личность вызывающего на этом запросе.

Зачем отдельный носитель

Личность вызывающего доезжает до решающих звеньев одним и тем же носителем (`operations.Principal`), и по нему НЕЛЬЗЯ узнать, откуда она взялась: личность, переданная нашим краем, и личность, доказанная предъявленным удостоверением, читаются одинаково. Пока происхождение не выражено, звено, которому оно нужно, вынуждено выводить его косвенно — по наличию модульного сертификата, по форме метаданных, — то есть угадывать.

Носитель нейтрален намеренно: его пишет читатель предъявленного, а читает политика вызывающего, и ни один из них не обязан знать про другого. Прямая зависимость между ними связала бы решение о ПРАВЕ ЗВАТЬ с реализацией проверки удостоверения — двумя предметами, которые меняются порознь.

Пустое значение означает «не назван», а не «назван никем»

Отсутствие пометки — законное и частое состояние: так выглядит всякий запрос прежнего пути. Поэтому у чтения два результата, и второй обязателен: «пометки нет» и «пометка есть» смешивать нельзя, иначе умолчание станет утверждением.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AssuranceFrom

func AssuranceFrom(ctx context.Context) (string, bool)

AssuranceFrom возвращает уровень доверия и признак его присутствия.

func IsPresentedCredential

func IsPresentedCredential(ctx context.Context) bool

IsPresentedCredential — сокращение для точки решения: личность доказана предъявленным удостоверением.

func With

func With(ctx context.Context, o Origin) context.Context

With помечает происхождение личности вызывающего.

func WithAssurance

func WithAssurance(ctx context.Context, acr string) context.Context

WithAssurance кладёт УРОВЕНЬ ДОВЕРИЯ, с которым вызывающий аутентифицировался.

Значение приходит из предъявленного удостоверения и кладётся сюда ТОЛЬКО после того, как удостоверение проверено целиком: иначе оно было бы утверждением предъявителя о себе, а на утверждениях предъявителя порог доверия не держится. Пустое значение — законное состояние: удостоверение вправе не называть уровня, и такой вызывающий ранжируется как не прошедший ни одного.

Types

type Origin

type Origin string

Origin — чем названа личность вызывающего.

const (
	// PresentedCredential — личность доказана удостоверением, ПРЕДЪЯВЛЕННЫМ
	// самим вызывающим и проверенным нами целиком.
	PresentedCredential Origin = "presented-credential"
)

func From

func From(ctx context.Context) (Origin, bool)

From возвращает происхождение и признак его присутствия.

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL