# Functions
Extra provides the names of additional parameters to use to store information in user profiles.
GetParams registers a function to get additional token endpoint parameters to include in the request when fetching a new token.
InitAuthCode sets up the OAuth 2.0 authorization code with PKCE authentication flow.
InitClientCredentials sets up the OAuth 2.0 client credentials authentication flow.
NewClientCredentialsHandler creates a new handler.
Scopes sets a list of scopes to request for the token.
TokenHandler takes a token source, gets a token, and modifies a request to add the token auth as a header.
TokenMiddleware is a wrapper around TokenHandler.
# Variables
ErrInvalidProfile is thrown when a profile is missing or invalid.
# Structs
AuthCodeHandler sets up the OAuth 2.0 authorization code with PKCE authentication flow.
AuthorizationCodeTokenSource with PKCE as described in: https://www.oauth.com/oauth2-servers/pkce/ This works by running a local HTTP server on a configurable port and then having the user log in through a web browser, which redirects to the local server with an authorization code.
ClientCredentialsHandler implements the Client Credentials OAuth2 flow.
RefreshTokenSource will use a refresh token to try and get a new token before calling the original token source to get a new token.