Interface IBowireUserDirectory

Namespace
Kuestenlogik.Bowire.Auth
Assembly
Kuestenlogik.Bowire.dll

Resolves who an authenticated caller is, beyond the subject their storage is keyed on (#98).

public interface IBowireUserDirectory

Remarks

A seam because the answer comes from different places. A token carries a name and an e-mail address; whether somebody is an administrator comes from the directory that provisions them, which lives in an optional package Core does not reference. Without one, ClaimsUserDirectory answers from the token alone.

Search(string?, int) is here rather than on a second interface because the two questions have one answer-source: whatever knows that somebody is an administrator is the same thing that can list who else exists.

Methods

Describe(ClaimsPrincipal?, string)

Describe the caller. principal is the token, subject the value their storage is keyed on.

BowireUserProfile Describe(ClaimsPrincipal? principal, string subject)

Parameters

principal ClaimsPrincipal
subject string

Returns

BowireUserProfile

Search(string?, int)

Identities matching term, for a picker.

IReadOnlyList<BowireUserProfile> Search(string? term, int limit)

Parameters

term string
limit int

Returns

IReadOnlyList<BowireUserProfile>

Remarks

Empty when nothing in this install knows who else exists — which is the honest answer, and the one that keeps a picker from offering a list it made up.