Skip to content

Relocate User Login info from User table to AuthProvider table. #7048

Description

@Neilk1021

Task Summary

Separate user profiles from authentication mechanisms by creating a dedicated auth_provider table that unifies local login and third-party OAuth under a single interface. This opens the door to adding new authentication services in the future such as Github, Facebook, and other such services.

Problem

Storing authentication data directly on the users table forces new schema changes every time we add a login provider (e.g., OAuth) and turns users into a bloated "god table."

Related Discussion

Discussion #6716

Key Benefits

Unified Interface: Local auth becomes just another provider (provider = 'local'), removing conditional code paths.
Security: Isolates sensitive credential data from standard user profile queries (SELECT * FROM users).
Extensibility: Easily add new login providers without schema modifications on users.

Task Type

  • Refactor / Cleanup
  • DevOps / Deployment / CI
  • Testing / QA
  • Documentation
  • Performance
  • Other

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions