Skip to content

Wallet-based authentication (Stellar/Soroban) #4

Description

@Martins0152

Description
Implement POST /api/v1/auth/wallet-auth allowing a user to authenticate by signing a challenge message with their Stellar wallet, verified against their walletAddress.

Acceptance Criteria

  • Server issues a one-time challenge string tied to a wallet address (short expiry, e.g. 5 minutes).
  • Server verifies the signed challenge against the Stellar public key before issuing a JWT.
  • Reused or expired challenges are rejected.
  • If no User exists for that wallet address, a new one is created with role DONOR by default (documented choice - flag if you think it should differ).
  • Tests cover valid signature, invalid signature, and expired challenge cases.
  • openapi.yaml documents the endpoint including the challenge/response flow.

Suggested reward: $30-$40

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    authAuthentication/authorizationbackendBackend/API workblockchainSoroban/Stellar integrationmedium/hardHigher complexity, multiple systems

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions