Skip to content

Implement Farcaster authentication alongside Privy #17

@theref

Description

@theref

Overview

Add Farcaster authentication support without removing Privy, allowing both authentication methods to coexist for different environments.

Tasks

  • Install additional dependencies (wagmi for wallet connections)
  • Create Farcaster authentication service
  • Implement "Sign in with Farcaster" flow
  • Add Farcaster user data handling
  • Create authentication method selector
  • Update AuthContext to support dual authentication
  • Add authentication state management for both methods

Implementation Details

interface AuthState {
  method: 'privy' | 'farcaster';
  user: FarcasterUser | PrivyUser | null;
  isAuthenticated: boolean;
}

interface FarcasterUser {
  fid: number;
  username: string;
  displayName: string;
  pfpUrl: string;
  bio: string;
}

Acceptance Criteria

  • Farcaster authentication works in Mini App environment
  • Privy authentication continues to work in regular browser
  • AuthContext properly handles both authentication methods
  • User data is consistent regardless of auth method
  • Authentication state is properly managed
  • No breaking changes to existing auth-dependent code

Priority

High - Core authentication functionality

Dependencies

Testing

  • Test Farcaster auth in Mini App environment
  • Test Privy auth in regular browser
  • Test auth state persistence
  • Test user data retrieval for both methods

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions