Reddit
Süresi dolmayan refresh token'lar için duration=permanent ile OAuth 2.0. Token takası zorunlu User-Agent header ile Basic auth (clientId:clientSecret) kullanır.
Kimlik bir bakışta
| Alan | Değer |
|---|---|
| Kimlik modeli | OAuth 2.0 |
| Gerekli ENV | REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, REDDIT_USER_AGENT |
| Callback URL | ${BASE_URL}/api/v1/auth/reddit/callback |
| Scope'lar / izinler | identity, submit, mysubreddits, read, flair |
| Otomatik token yenileme | Evet — süresi dolmadan 7 gün önce |
ENV detayları
REDDIT_USER_AGENT varsayılan olarak Sosyabot/1.0'dır. Reddit'in API politikası anlamlı bir UA talep eder — production için web:com.example.sosyabot:v3.38.0 (by /u/yourhandle) formunu kullan.
Nasıl bağlanılır
- Bağlantılar → Reddit → Bağlan'ı aç.
- Reddit'e giriş yap ve scope'ları onayla.
- Bağlantı sonrası ekranda varsayılan subreddit'i seç.
Token yenileme
Otomatik yenilenir. Varsayılan access-token TTL'i 1 saat'tir. tokenRefresh.queue.ts worker'ı, yeni access token'lar üretmek için kalıcı refresh token'ı kullanır. User-Agent header'ı her yenileme çağrısında zorunludur.
Notlar
- User-Agent header'ı yalnızca connect'te değil, her API çağrısında zorunludur. Reddit eksik veya genel User-Agent için
429döner. - Sosyabot subreddit listeni
dataiçinde önbelleğe alır ve bağlantı anında ilk subreddit'i varsayılan olarak otomatik seçer. flairscope'u, editörün subreddit flair'larını listeleyip yayınlamadan önce birini seçmene izin vermek için talep edilir.
Sorun giderme
Kanal needs_reconnect gösteriyorsa, access token Reddit tarafından reddedilmiştir. Yaygın sebepler:
- Kullanıcı Sosyabot'un yetkilendirmesini platform üzerinden iptal etmiştir.
- Platform token'ı geçersiz kılmıştır (şifre değişikliği, güvenlik olayı).
- OAuth uygulama kimlik bilgileriniz değişmiştir ve mevcut token'lar artık eşleşmiyordur.
Yukarıdaki bağlantı akışını yeniden çalıştır. Çalışma alanı genelinde checklist için Sorun Giderme'ye bak.