struct

KemalIdentity::Federation::Link

Inherits Struct < Value < Object

A stored association between an external identity and a local account.

Identity is what a provider asserted during one flow. This is what the application decided to remember about it: that (issuer, subject) is this account here.

Keyed on (issuer, subject), and nothing else

No email column, and deliberately so β€” docs/06-roadmap.md requires it. An address is neither stable nor proved: people change them, and a provider that hands you an unverified one has let somebody claim to be whoever owns that address at your service. Keying on it is account takeover with extra steps.

Both halves are the key because subject is stable within an issuer and meaningless outside it. Two providers can hand out the same sub and mean two different people.

Constructors

new(id : String, account_id : String, issuer : String, subject : String, created_at : Time, last_authenticated_at : Time | Nil = nil)
Source

Instance methods

account_id
Source
created_at
Source
issuer
Source
last_authenticated_at

When this link last carried somebody into a session. For a management screen β€” "last used to sign in on…" β€” and for noticing a link nobody has touched in two years.

Source
subject
Source