Skip to content
N

nxapi-auth

Project ID: 113

nxapi-auth is a web service that allows you to link and verify your Nintendo Switch user and self-enrol for presence API access. You can sign in using a Discord account or using a passkey or security key.

To do:

  • Authentication
    • Discord
    • Linking additional Discord users
    • WebAuthn
    • WebAuthn credential registration
    • WebAuthn user registration
  • User settings
    • Discord user management
    • WebAuthn credential management
    • Set name/sync Discord name
    • Token management
  • Nintendo Switch user linking
    • Lookup
    • Verification
    • Server token management for user verification
  • Presence server enrolment
    • Assigning presence server user
    • Sending friend request
    • Completion verification
    • Background verification (try to refresh status of pending enrolments to prevent issues when a user removes the presence server user as a friend before completion)
    • Generate presence server URLs
    • Generate presence server URLs with authentication token when presence data is set to private
    • Check presence permissions are set correctly
    • Check play activity permissions are set correctly (when user is online)
  • Nintendo Switch user settings
    • Set presence data permissions
    • Set Splatoon 3 Splatfest voting history permissions
    • Set friend code permissions
    • Set friend code lookup permissions
    • Set Discord lookup permissions
      • wait what's this for again?
    • Set NSA ID lookup permissions for other services
    • Set friend code URL
    • Update Discord users for role connections
    • Creating/deleting public profile page
  • Public profile pages
    • Profile page
    • Set profile information
      • Use Switch user name/icon?
      • Bio
      • Profile links/fields
      • Birthday
      • Location (limit to country?)/timezone
    • Banner image/colour
    • Profile themes, other personalisation options?
    • Set presence/friend code visibility
    • Set Splatfest team visibility
    • Set username
    • Splashcat integration
    • ... other integrations?
  • Presence API
    • Traefik forward auth service for presence API
    • Headers for limited access (e.g. token with presence access but not title/play activity)
    • [nxapi] Use access headers
  • Integration with nxapi Electron app
    • API to link users with web service token
      • or coral token and friend code? no, coral token uses HMAC so can't verify it without sending to Nintendo
    • URI scheme to set up presence from web app
    • Fetch friends public profile information
  • API for third-party apps