# Assent v0.4.0 - API Reference

## Modules

- [Assent](Assent.md): 

- Base strategies
  - [Assent.Strategy.OAuth](Assent.Strategy.OAuth.md): OAuth 1.0a strategy.
  - [Assent.Strategy.OAuth2](Assent.Strategy.OAuth2.md): OAuth 2.0 strategy.
  - [Assent.Strategy.OIDC](Assent.Strategy.OIDC.md): OpenID Connect strategy.

- Custom strategies
  - [Assent.Strategy](Assent.Strategy.md): Used for creating strategies.
  - [Assent.Strategy.OAuth.Base](Assent.Strategy.OAuth.Base.md): OAuth 1.0a strategy base.
  - [Assent.Strategy.OAuth2.Base](Assent.Strategy.OAuth2.Base.md): OAuth 2.0 strategy base.
  - [Assent.Strategy.OIDC.Base](Assent.Strategy.OIDC.Base.md): OpenID Connect strategy base.

- Strategies
  - [Assent.Strategy.Apple](Assent.Strategy.Apple.md): Apple Sign In OpenID Connect strategy.
  - [Assent.Strategy.Auth0](Assent.Strategy.Auth0.md): Auth0 OpenID Connect strategy.
  - [Assent.Strategy.AzureAD](Assent.Strategy.AzureAD.md): Azure Active Directory OpenID Connect strategy.
  - [Assent.Strategy.Basecamp](Assent.Strategy.Basecamp.md): Basecamp OAuth 2.0 strategy.
  - [Assent.Strategy.Bitbucket](Assent.Strategy.Bitbucket.md): Bitbucket Cloud OAuth 2.0 strategy.
  - [Assent.Strategy.DigitalOcean](Assent.Strategy.DigitalOcean.md): DigitalOcean OAuth 2.0 strategy.
  - [Assent.Strategy.Discord](Assent.Strategy.Discord.md): Discord OAuth 2.0 strategy.
  - [Assent.Strategy.Facebook](Assent.Strategy.Facebook.md): Facebook OAuth 2.0 strategy.
  - [Assent.Strategy.Github](Assent.Strategy.Github.md): GitHub OAuth 2.0 strategy.
  - [Assent.Strategy.Gitlab](Assent.Strategy.Gitlab.md): GitLab OpenID Connect strategy.
  - [Assent.Strategy.Google](Assent.Strategy.Google.md): Google OpenID Connect strategy.
  - [Assent.Strategy.LINE](Assent.Strategy.LINE.md): LINE Login OpenID Connect strategy.
  - [Assent.Strategy.Linkedin](Assent.Strategy.Linkedin.md): Sign In with LinkedIn V2 OpenID Connect strategy.
  - [Assent.Strategy.Slack](Assent.Strategy.Slack.md): Slack OpenID Connect strategy.
  - [Assent.Strategy.Spotify](Assent.Strategy.Spotify.md): Spotify OAuth 2.0 strategy.
  - [Assent.Strategy.Strava](Assent.Strategy.Strava.md): Strava OAuth 2.0 strategy.
  - [Assent.Strategy.Stripe](Assent.Strategy.Stripe.md): Stripe Connect OAuth 2.0 strategy.
  - [Assent.Strategy.Telegram](Assent.Strategy.Telegram.md): Telegram authorization strategy.
  - [Assent.Strategy.Twitch](Assent.Strategy.Twitch.md): Twitch OpenID Connect strategy.
  - [Assent.Strategy.Twitter](Assent.Strategy.Twitter.md): Twitter OAuth 1.0a strategy.
  - [Assent.Strategy.VK](Assent.Strategy.VK.md): VK.com OAuth 2.0 strategy.
  - [Assent.Strategy.Zitadel](Assent.Strategy.Zitadel.md): Zitadel OpenID Connect strategy.

- HTTP
  - [Assent.HTTPAdapter](Assent.HTTPAdapter.md): HTTP adapter helper module.
  - [Assent.HTTPAdapter.HTTPRequest](Assent.HTTPAdapter.HTTPRequest.md): Struct used by HTTP adapters to normalize HTTP requests.
  - [Assent.HTTPAdapter.HTTPResponse](Assent.HTTPAdapter.HTTPResponse.md): Struct used by HTTP adapters to normalize HTTP responses.
  - [Assent.HTTPAdapter.Httpc](Assent.HTTPAdapter.Httpc.md): HTTP adapter module for making http requests with `:httpc`.
  - [Assent.HTTPAdapter.Req](Assent.HTTPAdapter.Req.md): HTTP adapter module for making http requests with Req.

- JWT
  - [Assent.JWTAdapter](Assent.JWTAdapter.md): JWT adapter helper module.
  - [Assent.JWTAdapter.AssentJWT](Assent.JWTAdapter.AssentJWT.md): JWT adapter module for parsing JSON Web Tokens natively.
  - [Assent.JWTAdapter.JOSE](Assent.JWTAdapter.JOSE.md): JWT adapter module for parsing JSON Web Tokens with JOSE.

- Errors
  - [Assent.HTTPAdapter.InvalidResponseError](Assent.HTTPAdapter.InvalidResponseError.md): An exception for when an HTTP response is invalid.
  - [Assent.HTTPAdapter.RequestError](Assent.HTTPAdapter.RequestError.md): An exception for when a provider rejects an HTTP request.
  - [Assent.HTTPAdapter.ServerUnreachableError](Assent.HTTPAdapter.ServerUnreachableError.md): An exception for when a server is unreachable.
  - [Assent.HTTPAdapter.UnexpectedResponseError](Assent.HTTPAdapter.UnexpectedResponseError.md): An exception for when an HTTP response is unexpected.
  - [Assent.JWTAdapter.AssentJWT.Error](Assent.JWTAdapter.AssentJWT.Error.md): An exception for JWT errors.
  - [Assent.MissingConfigError](Assent.MissingConfigError.md): An exception for when a required configuration key is missing.
  - [Assent.MissingParamError](Assent.MissingParamError.md): An exception for when a required parameter is missing.
  - [Assent.Strategy.CallbackCSRFError](Assent.Strategy.CallbackCSRFError.md): An exception for when callback CSRF validation fails.
  - [Assent.Strategy.CallbackError](Assent.Strategy.CallbackError.md): An exception for an error reported or detected during an authorization
callback.
  - [Assent.Strategy.CastError](Assent.Strategy.CastError.md): An exception for when claims cannot be cast to the requested types.
  - [Assent.Strategy.OAuth2.UnsupportedTokenTypeError](Assent.Strategy.OAuth2.UnsupportedTokenTypeError.md): An exception for when an OAuth2 token type is unsupported.
  - [Assent.Strategy.OIDC.InvalidIDTokenError](Assent.Strategy.OIDC.InvalidIDTokenError.md): An exception for when an OpenID Connect ID Token is invalid.
  - [Assent.Strategy.OIDC.InvalidOpenIDConfigurationError](Assent.Strategy.OIDC.InvalidOpenIDConfigurationError.md): An exception for when an OpenID Connect Provider configuration is invalid.
  - [Assent.Strategy.OIDC.InvalidUserInfoError](Assent.Strategy.OIDC.InvalidUserInfoError.md): An exception for when an OpenID Connect UserInfo response is invalid.

