Skip to content

Identity Contracts

Identity providers work with two key contracts: IdentityProviderContext as input and IdentityDetails as output.

IdentityProviderContext contains the incoming identity data.

PropertyDescription
IdThe identity identifier from the identity provider
NameThe display name of the identity
ClaimsCollection of KeyValuePair<string, string> claims from the token

IdentityDetails represents the provider result.

PropertyDescription
IsUserAuthorizedWhether the user is authorized to enter the application
DetailsDomain-specific details as an object payload

When IsUserAuthorized is false, Arc returns HTTP 403. When authorized, Arc returns HTTP 200.

Note: Providers can use constructor dependencies via dependency inversion.