feat(auth): Sign-in with Ethereum for Better Auth
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 42/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- github, mongodb, next.js, typescript
- Bereich
- authentication, backend
Rechercherichtung
Start with frontend/src/features/auth/server/auth.ts and the sign-in components under features/auth/components; first verify whether Better Auth provides a SIWE plugin and read its API. Trace how the existing email OTP flow and MongoDB adapter handle accounts and sessions, then check compatibility with the signed assertion bridge on feat/toju-agent-storage. Done means wallet linking and unlinking work, replayed or invalid SIWE messages are rejected, and proxy/session behavior remains unchanged.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
Add wallet-based sign-in (EIP-4361) alongside the existing email OTP flow, optionally pulling the user's ENS name and avatar into the profile.
Motivation
Crypto-native users expect to sign in with their wallet, and it ties account identity to the addresses used for payments and agents.
Current state in this repo
frontend/src/features/auth/server/auth.tsconfigures Better Auth with the MongoDB adapter, email-OTP and Next cookies; sign-in forms are underfeatures/auth/components.
Proposal
- Add a SIWE flow (nonce, message, signature verification) if Better Auth provides a plugin; otherwise implement a small custom plugin.
- Link a wallet address to an existing account (verified by signature) rather than creating duplicate accounts.
- Optional: show ENS name/avatar from the ENS issue's resolution helper.
Acceptance criteria
- Nonces are single-use and expire; replayed signatures are rejected.
- Domain, chain id and expiry in the SIWE message are validated.
- A user can link and unlink a wallet; the proxy/session behaviour is unchanged.
Out of scope
- Replacing email OTP.
Technical notes and risks
- Backend identity for agent endpoints uses a different mechanism on
feat/toju-agent-storage(signed assertion bridge); keep the two flows compatible.
Verify before implementing
- Whether Better Auth currently ships a SIWE plugin and its API.
References
- EIP-4361 Sign-In with Ethereum: https://eips.ethereum.org/EIPS/eip-4361
Part of ##1. Ground rules for all issues in this roadmap are listed there (testnet-first, no secrets in the repo, chain logic behind the registry, tests and docs with every PR).
- Vorherrschende Sprache
- Python
- Sterne
- 2
- Forks
- 4
- Ø Merge
- 5 Std. 19 Min.
- Gemergte PRs (30 T.)
- 11
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
QMeshPy/distributed-quantum#53 ·
Maintainer antworten meist innerhalb von 1 Tag
-
chain-integration enhancement payments research-spike tier-2
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
QMeshPy/distributed-quantum#78 ·
Maintainer antworten meist innerhalb von 1 Tag
-
chain-integration enhancement payments research-spike tier-2
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 66/100
QMeshPy/distributed-quantum#77 ·
Maintainer antworten meist innerhalb von 1 Tag
-
chain-integration enhancement payments tier-2
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
QMeshPy/distributed-quantum#76 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation good first issue kubo storage tier-1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 42/100
QMeshPy/distributed-quantum#75 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in QMeshPy/distributed-quantum
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
aws-samples/sample-per-model-bedrock#464 ·
Maintainer antworten meist innerhalb von 1 Tag
-
lesson-submission pending-review
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
Ikalus1988/MisakaNet#3789 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Python Volcengine provider returns failures instead of raising themEvtl. vergeben @Ricardo-M-L hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
agent-infra/sandbox#248 ·
-
[Bug] cloud JSON directory loading assumes a Key field in fsspec listingsEvtl. vergeben @Ricardo-M-L hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
hiyouga/LlamaFactory#10910 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Bundled uv is never updated and trusts the compromised eMudhra certificatesEvtl. vergeben @FabienDanieau hat das heute übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100