# KeenAuth v1.0.1 - Table of Contents Library faciliating OpenID authentication flow throughout Phoenix application(s) ## Pages - [KeenAuth](readme.md) - [Changelog](changelog.md) - [Security Considerations](security.md) - [LICENSE](license.md) ## Modules - Core - [KeenAuth](KeenAuth.md): KeenAuth provides a powerful pipeline-based authentication system for Phoenix applications. - [KeenAuth.Config](KeenAuth.Config.md): Methods to parse and modify configurations. - [KeenAuth.User](KeenAuth.User.md): Represents an authenticated user in KeenAuth. - Pipeline - [KeenAuth.Mapper](KeenAuth.Mapper.md) - [KeenAuth.Processor](KeenAuth.Processor.md): Defines the processor behavior for handling authentication business logic. - [KeenAuth.Storage](KeenAuth.Storage.md): Defines the storage behavior for persisting authentication data. - [KeenAuth.Strategy](KeenAuth.Strategy.md) - Built-in Mappers - [KeenAuth.Mapper.AzureAD](KeenAuth.Mapper.AzureAD.md): Mapper for Azure AD / Microsoft Entra ID users. - [KeenAuth.Mapper.Default](KeenAuth.Mapper.Default.md) - [KeenAuth.Mapper.Facebook](KeenAuth.Mapper.Facebook.md) - [KeenAuth.Mapper.Github](KeenAuth.Mapper.Github.md) - Built-in Storage - [KeenAuth.Storage.Session](KeenAuth.Storage.Session.md): Session-based storage for KeenAuth authentication data. - Plugs - [KeenAuth.Plug](KeenAuth.Plug.md): Main plug that stores KeenAuth configuration in the connection. - [KeenAuth.Plug.AuthSession](KeenAuth.Plug.AuthSession.md): A separate session cookie for OAuth authentication flow. - [KeenAuth.Plug.FetchUser](KeenAuth.Plug.FetchUser.md): Fetches current user using storage from config and assigns it to conn - [KeenAuth.Plug.RequireAuthenticated](KeenAuth.Plug.RequireAuthenticated.md) - Authorization - [KeenAuth.Plug.AuthorizationErrorHandler](KeenAuth.Plug.AuthorizationErrorHandler.md) - [KeenAuth.Plug.Authorize](KeenAuth.Plug.Authorize.md) - [KeenAuth.Plug.Authorize.Groups](KeenAuth.Plug.Authorize.Groups.md) - [KeenAuth.Plug.Authorize.Permissions](KeenAuth.Plug.Authorize.Permissions.md) - [KeenAuth.Plug.Authorize.Roles](KeenAuth.Plug.Authorize.Roles.md) - Controllers - [KeenAuth.AuthenticationController](KeenAuth.AuthenticationController.md): Handles the OAuth authentication flow for KeenAuth. - [KeenAuth.EmailAuthenticationController](KeenAuth.EmailAuthenticationController.md): Handles email/password authentication as an alternative entry point to OAuth. - [KeenAuth.EmailAuthenticationHandler](KeenAuth.EmailAuthenticationHandler.md): Behaviour for implementing email/password authentication. - Helpers - [KeenAuth.Helpers.Binary](KeenAuth.Helpers.Binary.md) - [KeenAuth.Helpers.InputValidator](KeenAuth.Helpers.InputValidator.md): Validates input parameters to prevent abuse and ensure security. - [KeenAuth.Helpers.RedirectValidator](KeenAuth.Helpers.RedirectValidator.md): Validates redirect URLs to prevent open redirect vulnerabilities. - [KeenAuth.Helpers.RequestHelpers](KeenAuth.Helpers.RequestHelpers.md): Helper functions for handling HTTP requests in authentication flows. - Utilities - [KeenAuth.Logger](KeenAuth.Logger.md): Categorized logging for KeenAuth with compile-time purging support. - [KeenAuth.Processor.Default](KeenAuth.Processor.Default.md) - [KeenAuth.Token](KeenAuth.Token.md) - [KeenAuth.Token.JWT](KeenAuth.Token.JWT.md)