···3838# - DATABASE_URL
3939# - AWS_ACCESS_KEY_ID
4040# - AWS_SECRET_ACCESS_KEY
4141-# - ATPROTO_CLIENT_ID (will be https://api.plyr.fm/client-metadata.json after deployment)
4141+# - ATPROTO_CLIENT_ID (will be https://api.plyr.fm/oauth-client-metadata.json after deployment)
4242# - ATPROTO_REDIRECT_URI (will be https://api.plyr.fm/auth/callback after deployment)
4343# - OAUTH_ENCRYPTION_KEY (44-character base64 Fernet key, generate with: python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())')
+5-5
docs/backend/atproto-identity.md
···2929### how it works
303031311. **client ID is a URL**: your `ATPROTO_CLIENT_ID` must be a publicly accessible HTTPS URL that serves client metadata JSON
3232-2. **backend serves metadata**: plyr.fm serves this at `/client-metadata.json` on the API domain
3232+2. **backend serves metadata**: plyr.fm serves this at `/oauth-client-metadata.json` on the API domain
33333. **automatic discovery**: when users authenticate, their PDS fetches the client metadata from your client ID URL
34343535### configuration per environment
36363737**production**:
3838-- `ATPROTO_CLIENT_ID=https://api.plyr.fm/client-metadata.json`
3838+- `ATPROTO_CLIENT_ID=https://api.plyr.fm/oauth-client-metadata.json`
3939- `ATPROTO_REDIRECT_URI=https://api.plyr.fm/auth/callback`
40404141**staging**:
4242-- `ATPROTO_CLIENT_ID=https://api-stg.plyr.fm/client-metadata.json`
4242+- `ATPROTO_CLIENT_ID=https://api-stg.plyr.fm/oauth-client-metadata.json`
4343- `ATPROTO_REDIRECT_URI=https://api-stg.plyr.fm/auth/callback`
44444545**local development**:
4646-- `ATPROTO_CLIENT_ID=http://localhost:8001/client-metadata.json`
4646+- `ATPROTO_CLIENT_ID=http://localhost:8001/oauth-client-metadata.json`
4747- `ATPROTO_REDIRECT_URI=http://localhost:8001/auth/callback`
48484949### important notes
···5858check that your client metadata is accessible:
59596060```bash
6161-curl https://api.plyr.fm/client-metadata.json
6161+curl https://api.plyr.fm/oauth-client-metadata.json
6262```
63636464should return JSON with your OAuth configuration including redirect URIs and scopes.