auth service in auth/.
The auth service makes AniList account linking work for /register.
What the auth service does
The auth service:- receives the signed OAuth context from the bot
- validates the context and creates a single-use OAuth state
- redirects the browser to AniList
- handles the AniList callback
- exchanges the auth code for AniList tokens
- fetches the AniList viewer ID and stores the linked credentials
- serves
GET /healthz
Before you start
You need an AniList OAuth application with a callback URL that points to the auth service. For local development, use:Configure the auth environment
From the repository root:auth/.env:
OAUTH_CONTEXT_SIGNING_SECRET must match the bot service value. Keep USERID_HASH_SALT aligned too if you want matching hashed user identifiers across logs.Run the auth service locally
Create the auth database
Create the PostgreSQL database or connection target you want the auth service to use.
Start the service
Verify the OAuth flow
- Start the bot service.
- Run
/registerin Discord. - Click Link AniList Account.
- Complete the AniList flow in the browser.
- Run
/whoamito confirm the linked profile.
