pyxle-auth 0.4.0: flexible identity — sign in with username or email#2
Merged
Conversation
Adds the `identifier` setting ("email" default, "username") so apps can
authenticate on a username instead of an email. Username mode: sign_up/
sign_in take a username, email-only flows go unused, schema carries both
email and username as nullable UNIQUE columns. Includes username policy
(length/pattern/reserved-name block-list), lowercase normalisation,
AuthService.username_available(), and /auth/username-available. 435 tests
green against SQLite, PostgreSQL, and MariaDB.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the
identifiersetting ("email"— the default, unchanged behavior — or"username") so apps can authenticate on a username instead of an email address.sign_up/sign_intake ausername; the email-only flows (verification, password reset) simply go unused.emailandusernameas nullable UNIQUE columns (SQLite/PostgreSQL/MySQL variants), so an app can also collect an optional email alongside a username.AuthService.username_available()plus a public availability endpoint.Tests: 435 passed, including live PostgreSQL and MariaDB backends.