Class ScimUserRecord

Namespace
Kuestenlogik.Bowire.Scim
Assembly
Kuestenlogik.Bowire.Scim.dll

A provisioned identity as Bowire keeps it: the SCIM resource the connector sees, plus the state only Bowire needs.

public sealed class ScimUserRecord
Inheritance
ScimUserRecord
Inherited Members

Remarks

An envelope rather than extra fields on ScimUser, because the two audiences differ. [JsonIgnore] would keep Bowire's bookkeeping out of the response and out of the file in the same stroke, which is how a purge window silently stops working after a restart.

Constructors

ScimUserRecord()

public ScimUserRecord()

Properties

ArchivedSlot

Where this identity's slot was moved when it was deprovisioned.

[JsonPropertyName("archivedSlot")]
public string? ArchivedSlot { get; set; }

Property Value

string

DeactivatedUtc

When the identity was deprovisioned, for the purge window.

[JsonPropertyName("deactivatedUtc")]
public DateTimeOffset? DeactivatedUtc { get; set; }

Property Value

DateTimeOffset?

Resource

What the connector sees.

[JsonPropertyName("resource")]
public ScimUser Resource { get; set; }

Property Value

ScimUser

Subject

The token subject this record turned out to belong to, learned on first sign-in.

[JsonPropertyName("subject")]
public string? Subject { get; set; }

Property Value

string

Remarks

Not known at provisioning time and deliberately not guessed. The slot name is a function of the subject in the token; provisioning knows a userName and an externalId, and picking the wrong one creates a second slot whose data the person never sees.