···3333 } catch (err) {
3434 console.error('Auth init failed:', err)
3535 // If it's a ZodError about localhost, checking the URL might help
3636- if (window.location.hostname !== '127.0.0.1') {
3737- alert('Configuration Error: Please access this app via http://127.0.0.1:5173. The OAuth client requires this exact usage.')
3636+ // If it's a ZodError about localhost, checking the URL might help
3737+ const allowedHosts = ['127.0.0.1', 'drydown.pages.dev', 'drydown.social']
3838+ if (!allowedHosts.includes(window.location.hostname)) {
3939+ alert(`Configuration Error: Please access this app via one of the allowed domains: ${allowedHosts.join(', ')}.`)
3840 }
3941 } finally {
4042 setIsInitializing(false)
+10-6
src/auth.ts
···2233// The metadata must match what is served at the client_id URL
44const clientMetadata: OAuthClientMetadataInput = {
55- client_id: 'http://localhost?redirect_uri=http%3A%2F%2F127.0.0.1%3A5173&scope=atproto%20transition%3Ageneric',
55+ client_id: 'https://drydown.pages.dev/client-metadata.json',
66 client_name: 'Drydown App',
77- client_uri: 'http://localhost:5173',
88- logo_uri: 'http://localhost:5173/vite.svg',
99- tos_uri: 'http://localhost:5173/tos',
1010- policy_uri: 'http://localhost:5173/policy',
1111- redirect_uris: ['http://127.0.0.1:5173'],
77+ client_uri: 'https://drydown.pages.dev',
88+ logo_uri: 'https://drydown.pages.dev/vite.svg',
99+ tos_uri: 'https://drydown.pages.dev/tos',
1010+ policy_uri: 'https://drydown.pages.dev/policy',
1111+ redirect_uris: [
1212+ 'http://127.0.0.1:5173',
1313+ 'https://drydown.pages.dev/',
1414+ 'https://drydown.social/',
1515+ ],
1216 scope: 'atproto transition:generic',
1317 grant_types: ['authorization_code', 'refresh_token'],
1418 response_types: ['code'],