Rodauth is Ruby's most advanced authentication framework, designed to work in all rack applications. It's built using Roda and Sequel, but it can be used as middleware in front of web applications that use other web frameworks and database libraries. Rodauth aims to provide strong security for password storage by utilizing separate database accounts if possible on PostgreSQL, MySQL, and Microsoft SQL Server. Configuration is done via a DSL that makes it easy to override any part of the authentication process. Rodauth supports typical authentication features: such as login and logout, changing logins and passwords, and creating, verifying, unlocking, and resetting passwords for accounts. Rodauth also supports many advanced authentication features: * Secure password storage using security definer database functions * Multiple primary multifactor authentication methods (WebAuthn and TOTP), as well as backup multifactor authentication methods (SMS and recovery codes). * Passwordless authentication using email links and WebAuthn authenticators. * Both standard HTML form and JSON API support for all features.
Provides Rails integration for Rodauth authentication framework.
Provides model mixin for Active Record and Sequel that defines password attribute and associations based on Rodauth configuration.
Rodauth extension for logging in and creating account via OmniAuth authentication.
Implementation of the OAuth 2.0 protocol on top of rodauth.
Provides I18n integration and translations for Rodauth authentication framework.
Rodauth extension for checking whether a password had been exposed in a database breach according to https://haveibeenpwned.com.
A collection of framework-agnostic tools and utilities for Rodauth, including database migration helpers, table inspection, and possibly... less (this is an active development area, experimental stuff that may come and go).
Allows dynamically generating OpenAPI documentation based on Rodauth configuration.
Easily switch Rodauth accounts
Multiple authenticated accounts per session in rodauth.
Provides guest users functionality for Rodauth.