A community based topic aggregation platform built on atproto

fix(oauth): use metadata URL as client_id per atproto spec

The atproto OAuth spec requires client_id to be the URL of the client
metadata document, not just the domain. Changed from:
https://coves.social
To:
https://coves.social/oauth/client-metadata.json

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Changed files
+3 -1
internal
atproto
oauth
+3 -1
internal/atproto/oauth/client.go
···
clientConfig = oauth.NewLocalhostConfig(callbackURL, config.Scopes)
} else {
// Production mode: public OAuth client with HTTPS
+
// client_id must be the URL of the client metadata document per atproto OAuth spec
+
clientID := config.PublicURL + "/oauth/client-metadata.json"
callbackURL := config.PublicURL + "/oauth/callback"
-
clientConfig = oauth.NewPublicConfig(config.PublicURL, callbackURL, config.Scopes)
+
clientConfig = oauth.NewPublicConfig(clientID, callbackURL, config.Scopes)
}
// Set user agent