# Functions
CheckOauthUserAndRedirect checks if the user is allowed to use the Gokapi instance.
Init needs to be called first to process the authentication configuration.
IsAuthenticated returns true if the user provides a valid authentication.
IsCorrectUsernameAndPassword checks if a provided username and password is correct.
IsEqualStringConstantTime uses ConstantTimeCompare to prevent timing attack.
IsLogoutAvailable returns true if a logout button should be shown with the current form of authentication.
Logout logs the user out and removes the session.
# Constants
CookieOauth is the cookie name used for login.
Disabled authentication ignores all internal authentication procedures.
Header authentication relies on a header from a reverse proxy to parse the username.
Internal authentication method uses a user / password combination handled by Gokapi.
OAuth2 authentication retrieves the users email with Open Connect ID.
# Structs
OAuthUserInfo is used to make testing easier.
# Interfaces
OAuthUserClaims contains the claims.