Allow linking Web3 wallets (e.g. Solana) to existing Supabase auth users
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 38/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- go, typescript
- Domain
- authentication, backend-api-design, blockchain
Research direction
Start by tracing the existing auth linkIdentity() and signInWithWeb3() entry points and how they handle the current user session. Define how a Solana wallet should be linked to an existing email/password or other-auth user, including the supported API shape and account-linking behavior. Done means the chosen flow is implemented and covered for the stated wallet-linking case.
Written by the indexing model from the issue text.
Description
Description
Currently, supabase.auth.linkIdentity() only supports linking OAuth providers (Google, GitHub, etc.) to an existing Supabase Auth user. However, there’s no supported way to link a Web3 wallet to a user account that was created with email/password or other auth methods.
It's currently possible to sign up with wallet and add email and oauth providers.
Suggested solution
Add support for something like:
await supabase.auth.linkWeb3Wallet({
chain: 'solana',
statement: 'Link your Solana wallet to your account',
wallet: wallet.adapter,
})
or extend the existing sign-in method to detect if a user session exists:
await supabase.auth.signInWithWeb3({
provider: 'solana',
statement: 'Link your Solana wallet to your account',
wallet: wallet.adapter,
linkToCurrentUser: true,
})
Alternative
No response
Additional context
No response
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
- Dominant language
- Go
- Stars
- 2.6k
- Forks
- 764
- Avg merge
- 5d 3h
- Merged PRs (30d)
- 39
Contributor guide
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.
More from supabase/auth
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 86/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Similar issues
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
githubnext/gh-aw-cao#13143 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
blinklabs-io/bursa#904 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
yanet-platform/ipfw-go#129 ·
-
bug confmap/provider/googlesecretmanagerprovider needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
open-telemetry/opentelemetry-collector-contrib#51273 · 2 comments ·
-
bug: AI Gateway client filter lists "Unknown" twice when NULL and literal Unknown clients coexist Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 90/100