Подключение
OAuth 2.0 confidential client (PKCE + client_secret только на сервере). Браузер не видит секретов.
Runtime-scopes v0: dm.read, tweet.read, users.read, offline.access. Scope dm.write пока не запрашивается.
После входа откроются входящие с живыми данными.
Примеры callback URL (для портала разработчика X; домен в UI берётся из APP_URL / NEXT_PUBLIC_APP_URL):
https://dm.fromhell.fun/api/auth/callback/xhttp://localhost:3000/api/auth/callback/x