Track which providers each user has linked
Open
@doc-han is already working on this.
Since May 21, 2026.
Full SSO Experience
- Dominant language
- Elixir
- Stars
- 296
- Forks
- 86
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 50
Description
Today, the user record does not store which third-party identities a user has signed in with. To support multi-provider sign-in and link/unlink in account settings, we need a record per user per provider that captures the provider name, the user's stable identifier on that provider, and the email reported at link time.
Schema
A new user_identities table:
user_idforeign key tousers,on_delete: :delete_allproviderstring (e.g."google")provider_user_idstring (the IdPsubclaim)emailstring, snapshotted at link timeinserted_at,updated_at
Unique index on (provider, provider_user_id) so two accounts can't claim the same identity.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.