[PR #5190] [CLOSED] feat: add login-alias export to plugins index #5836

Closed
opened 2026-03-13 12:38:16 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/5190
Author: @notsliver
Created: 10/9/2025
Status: Closed

Base: canaryHead: canary


📝 Commits (9)

  • 97446aa feat: add login-alias export to plugins index
  • 5a61e78 refactor: clean up code formatting and remove unnecessary whitespace in login-alias plugin files
  • 31c0c6c feat: remove EXAMPLE.md and enhance login-alias plugin with OAuth support and alias normalization
  • 8e8a23a Merge branch 'canary' into canary
  • 26a2c34 feat: remove PULLREQUEST.md file for login-alias plugin as part of cleanup
  • 2de5a67 Merge branch 'canary' of https://github.com/notsliver/better-auth into canary
  • d70dc89 test: enhance login-alias tests with alias normalization and OAuth client adjustments
  • f0b16fb test: update login-alias tests to verify alias properties and improve clarity
  • 9c104c1 Merge branch 'canary' into canary

📊 Changes

9 files changed (+2548 additions, -0 deletions)

View changed files

📝 packages/better-auth/src/plugins/index.ts (+1 -0)
packages/better-auth/src/plugins/login-alias/client.ts (+17 -0)
packages/better-auth/src/plugins/login-alias/error-codes.ts (+15 -0)
packages/better-auth/src/plugins/login-alias/index.ts (+791 -0)
packages/better-auth/src/plugins/login-alias/login-alias.test.ts (+1168 -0)
packages/better-auth/src/plugins/login-alias/schema.ts (+124 -0)
packages/better-auth/src/plugins/login-alias/sign-in-helper.ts (+192 -0)
packages/better-auth/src/plugins/login-alias/types.ts (+155 -0)
packages/better-auth/src/plugins/login-alias/utils.ts (+85 -0)

📄 Description

This PR adds a new "Login Aliases" plugin that allows users to have multiple login identifiers (email, username, phone, etc.) all pointing to the same account. Example usage can be found in the EXAMPLE.md file.


Summary by cubic

Adds a new Login Aliases plugin so users can sign in with email, username, phone, or custom IDs, all linked to one account. The plugin is exported via better-auth/plugins for easy import.

  • New Features

    • Endpoints: /alias/list, /alias/add, /alias/remove, /alias/make-primary, /alias/verify, /alias/find-user.
    • Auto-creates email alias on sign-up/sign-in/callback (configurable).
    • Sign-in hook lets the email flow accept aliases.
    • Options: allowed types, verification requirements, multiple-per-type, max per user, normalization, and lifecycle hooks.
    • Normalization/validation for email, username, phone; metadata support for display values.
    • Added example usage and test coverage.
  • Migration

    • Server: import and add loginAlias() to betterAuth({ plugins: [...] }).
    • Client: add loginAliasClient() to createAuthClient({ plugins: [...] }).
    • If autoCreateAliases is on, existing users get an email alias automatically.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/better-auth/better-auth/pull/5190 **Author:** [@notsliver](https://github.com/notsliver) **Created:** 10/9/2025 **Status:** ❌ Closed **Base:** `canary` ← **Head:** `canary` --- ### 📝 Commits (9) - [`97446aa`](https://github.com/better-auth/better-auth/commit/97446aa65980c3b3ffae6441b0daf9fdde2faecc) feat: add login-alias export to plugins index - [`5a61e78`](https://github.com/better-auth/better-auth/commit/5a61e788e77ae5c2b5deedbce65dbf355b7f329c) refactor: clean up code formatting and remove unnecessary whitespace in login-alias plugin files - [`31c0c6c`](https://github.com/better-auth/better-auth/commit/31c0c6ce94b196f9568362f9841c6c73332a2b35) feat: remove EXAMPLE.md and enhance login-alias plugin with OAuth support and alias normalization - [`8e8a23a`](https://github.com/better-auth/better-auth/commit/8e8a23a5e2bb527fa0abb30a0d9d7e5490a51bee) Merge branch 'canary' into canary - [`26a2c34`](https://github.com/better-auth/better-auth/commit/26a2c3469c862d43b8aeb6e2cba055e8e1ae5c47) feat: remove PULLREQUEST.md file for login-alias plugin as part of cleanup - [`2de5a67`](https://github.com/better-auth/better-auth/commit/2de5a67e465c47facd176f1ed61689fc30d4f08e) Merge branch 'canary' of https://github.com/notsliver/better-auth into canary - [`d70dc89`](https://github.com/better-auth/better-auth/commit/d70dc89eaf856020cc6b8eecc3917d7653dd3934) test: enhance login-alias tests with alias normalization and OAuth client adjustments - [`f0b16fb`](https://github.com/better-auth/better-auth/commit/f0b16fbe8beba2d673f0d2cae2671daa0ceae17f) test: update login-alias tests to verify alias properties and improve clarity - [`9c104c1`](https://github.com/better-auth/better-auth/commit/9c104c10f8ac2805223f2e29a239df0c6ddd016f) Merge branch 'canary' into canary ### 📊 Changes **9 files changed** (+2548 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `packages/better-auth/src/plugins/index.ts` (+1 -0) ➕ `packages/better-auth/src/plugins/login-alias/client.ts` (+17 -0) ➕ `packages/better-auth/src/plugins/login-alias/error-codes.ts` (+15 -0) ➕ `packages/better-auth/src/plugins/login-alias/index.ts` (+791 -0) ➕ `packages/better-auth/src/plugins/login-alias/login-alias.test.ts` (+1168 -0) ➕ `packages/better-auth/src/plugins/login-alias/schema.ts` (+124 -0) ➕ `packages/better-auth/src/plugins/login-alias/sign-in-helper.ts` (+192 -0) ➕ `packages/better-auth/src/plugins/login-alias/types.ts` (+155 -0) ➕ `packages/better-auth/src/plugins/login-alias/utils.ts` (+85 -0) </details> ### 📄 Description This PR adds a new "Login Aliases" plugin that allows users to have multiple login identifiers (email, username, phone, etc.) all pointing to the same account. Example usage can be found in the EXAMPLE.md file. <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds a new Login Aliases plugin so users can sign in with email, username, phone, or custom IDs, all linked to one account. The plugin is exported via better-auth/plugins for easy import. - **New Features** - Endpoints: /alias/list, /alias/add, /alias/remove, /alias/make-primary, /alias/verify, /alias/find-user. - Auto-creates email alias on sign-up/sign-in/callback (configurable). - Sign-in hook lets the email flow accept aliases. - Options: allowed types, verification requirements, multiple-per-type, max per user, normalization, and lifecycle hooks. - Normalization/validation for email, username, phone; metadata support for display values. - Added example usage and test coverage. - **Migration** - Server: import and add loginAlias() to betterAuth({ plugins: [...] }). - Client: add loginAliasClient() to createAuthClient({ plugins: [...] }). - If autoCreateAliases is on, existing users get an email alias automatically. <!-- End of auto-generated description by cubic. --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-03-13 12:38:17 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#5836