Packages
Complete authentication generator for Phoenix 1.8+. Email + password and magic link login, registration, password reset, email confirmation, settings, and scope-based auth — aligned with the Phoenix 1.8.9 phx.gen.auth templates.
Current section
Files
Jump to
Current section
Files
phx_auth_plus
CHANGELOG.md
CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.2.0] - 2026-08-19
### Changed
- Aligned LiveViews, session controller, and routes with Phoenix 1.8.9 `phx.gen.auth` templates
- Added magic link authentication alongside password-based login
- Added `update_password` route for password updates from settings
- Added `fetch_current_scope_for_user` plug to the browser pipeline
- Updated `create_auth_test` and `create_accounts_fixtures` for the new auth flow and scope usage
- Made `hashed_password` nullable in the migration (magic link users may not have a password)
- Made `signed_in_path/1` public in `UserAuth`
- Layout header now includes dynamic auth menu (login/register, email/settings/logout)
- Moved hashing test config from the removed `phx_auth_plus.install` task into `phx_auth_plus.gen.auth`
- Updated README to reflect the new manual workflow
### Removed
- `phx_auth_plus.install` task (was auto-triggered by Igniter on `mix deps.get`, interrupting dependency download and compilation). The hashing config is now applied by `phx_auth_plus.gen.auth` directly.
## [0.1.0] - 2026-08-19
### Added
- Complete email + password authentication generator based on Phoenix 1.7.21's `phx.gen.auth`
- User schema with registration, email, password, and confirmation changesets
- UserToken schema with session, reset password, confirm, and change email tokens
- UserNotifier for email delivery (confirmation, reset password, change email)
- Accounts context with full auth functions:
- Registration and session management
- Password reset (forgot password flow)
- Account confirmation by email
- Email change with confirmation
- Password change with current password validation
- UserAuth plug with:
- `log_in` / `log_out` with session renewal
- "Remember me" with secure signed cookies
- `fetch_current_user` from session or cookie
- `redirect_if_authenticated` and `require_authenticated` plugs
- LiveView `on_mount` hooks (`mount_current_user`, `redirect_if_authenticated`, `ensure_authenticated`)
- LiveView auth pages (default): login, registration, settings, forgot/reset password, confirmation
- Controller-based auth pages (with `--no-live`): session, registration, settings, reset password, confirmation
- Router configuration with guest and required-auth pipelines
- Database migration for users and tokens tables
- Support for multiple hashing libraries: bcrypt (default Unix), pbkdf2 (default Windows), argon2
- Support for binary UUID keys (`--binary-id`)
- Support for custom table name (`--table`)
- Support for custom web module (`--web`)
- Support for umbrella projects (`--context-app`)
- Built with Igniter for AST-based code generation
### Why
Phoenix 1.8 replaced `mix phx.gen.auth` with a magic-link-only generator.
This package restores the complete email + password authentication that
many applications still need, including password reset, account confirmation,
and "remember me" functionality.