feat(auth): Sign-in with Ethereum for Better Auth
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 42/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- github, mongodb, next.js, typescript
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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).
- 主要言語
- Python
- スター
- 2
- フォーク
- 4
- 平均マージ
- 5時間 19分
- マージ済み PR(30日)
- 11
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
QMeshPy/distributed-quantum のほかの issue
-
enhancement good first issue helia storage tier-1
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
QMeshPy/distributed-quantum#53 ·
メンテナーはふだん 1 日以内に返信
-
chain-integration enhancement payments research-spike tier-2
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
QMeshPy/distributed-quantum#78 ·
メンテナーはふだん 1 日以内に返信
-
chain-integration enhancement payments research-spike tier-2
難易度 3/5 1〜2日 初心者へのやさしさ 66/100
QMeshPy/distributed-quantum#77 ·
メンテナーはふだん 1 日以内に返信
-
chain-integration enhancement payments tier-2
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
QMeshPy/distributed-quantum#76 ·
メンテナーはふだん 1 日以内に返信
-
documentation good first issue kubo storage tier-1
難易度 2/5 1〜3時間 初心者へのやさしさ 42/100
QMeshPy/distributed-quantum#75 ·
メンテナーはふだん 1 日以内に返信
QMeshPy/distributed-quantum の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
gramaziokohler/compas_timber#870 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
autowarefoundation/autoware_carla_scenario#500 ·
メンテナーはふだん 1 日以内に返信
-
good first issue priority: low size: XS testing
難易度 1/5 1〜3時間 初心者へのやさしさ 86/100
cubrid-lab/cubrid-mcp-server#385 ·
メンテナーはふだん 1 日以内に返信
-
good first issue priority: low size: S testing
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
cubrid-lab/cubrid-cookbook-python#447 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100