Table of Contents

Namespace Arc4u.OAuth2.TokenProviders

Classes

AzureADOboTokenProvider

An ITokenProvider that exchanges the access token of the current user for a token for another API, with the on-behalf-of flow (urn:ietf:params:oauth:grant-type:jwt-bearer). The user token is the access token of the scoped TokenRefreshInfo (the OpenID Connect session) or, if empty, the BootstrapContext of the current principal (the bearer token of the request). The ClientId, ClientSecret and Scope come from the settings (see OnBehalfOfSettingsOptions) and the request goes to the token endpoint of the Default authority. The resulting token is cached until it expires.

BootstrapContextTokenProvider

An ITokenProvider that returns the access token stored in the BootstrapContext of the current principal, that is the token of the incoming request.

OboTokenCacheIndex

The cache keys of the on-behalf-of tokens obtained for one user, with their expiration, stored by AzureADOboTokenProvider so they can be removed when the user signs out. When the cache serializer uses a JsonSerializerContext, add this type to it.

OidcTokenProvider

An ITokenProvider that returns the access token of a user authenticated with OpenID Connect and the cookie scheme. The token comes from the scoped TokenRefreshInfo; when it expires in less than ForceRefreshTimeoutTimeSpan, it is refreshed with the refresh token first.

RefreshTokenProvider

The purpose of this token provider is to be used by Oidc one. It will refresh a token based on a refresh token and update the scoped TokenRefreshInfo. The Oidc token provider is responsible to get back an access token.