refactor(auth): redesign authentication and identity models#460
Open
Harxhit wants to merge 2 commits into
Open
refactor(auth): redesign authentication and identity models#460Harxhit wants to merge 2 commits into
Harxhit wants to merge 2 commits into
Conversation
CI Results — ❌ Some checks failed🖥️ Backend (❌ failure)
📱 Mobile (⏭️ skipped)
🌐 Web (⏭️ skipped)
🕐 Last updated: |
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.
Summary
Redesign the authentication schema to improve account security, support multiple authentication providers, and provide a stronger foundation for future authentication features such as email/password, OAuth, and phone-based login.
Context
The previous authentication design stored provider-specific information directly on the
Usermodel, making it difficult to support multiple authentication methods for a single account.This PR introduces a dedicated identity layer and enhances account management by separating authentication concerns from user profile data. The redesign also improves refresh token tracking, session management, account verification, and auditing capabilities.
Changes
User Identity Redesign
Introduced a dedicated
UserIdentitymodel.Moved authentication provider information out of the
Usermodel.Users can now be associated with multiple authentication identities.
Added constraints and indexes for efficient provider lookups:
(provider, providerId)userIdBenefits:
User Model Improvements
Added:
emailVerifiedphoneNumberlastSignInAtisActiveRefresh Token Enhancements
Extended refresh token storage to improve session security and token management.
Added:
familytokenHashuserAgentipHash(planned)Benefits:
Proofs