- Yetkilendirme Kodu + İstemci Gizli Anahtarı: Arka uç sunucusu bulunan web uygulamaları için
- Yetkilendirme Kodu + PKCE: İstemci gizli anahtarını güvenli şekilde saklayamayan yerel uygulamalar, CLI araçları, SPA’lar ve diğer genel istemciler için
- Cihaz Yetkilendirme İzni: SSH üzerinden, bir kapsayıcıda veya bulut IDE’sinde çalışan CLI gibi tarayıcı yönlendirmesi alamayan istemciler için
OAuth Uygulaması Oluşturma
- Teable hesabınızda Ayarlar > OAuth Uygulamaları bölümüne gidin.
- Yeni bir uygulama oluşturmak için Yeni OAuth Uygulamaları’na tıklayın.
-
Gerekli bilgileri doldurun:
- OAuth Uygulaması adı: Uygulamanızı açıklayan bir ad
- Ana sayfa URL’si: Uygulamanızın web sitesinin tam URL’si
- Geri çağırma URL’si: Yetkilendirmeden sonra kullanıcıların yönlendirileceği URL
- Kapsamlar: Uygulamanızın ihtiyaç duyduğu izinler
- Cihaz akışını etkinleştir: Varsayılan olarak kapalıdır. Yalnızca uygulamanız kullanıcıların cihaz koduyla oturum açmasını sağlıyorsa etkinleştirin
- Uygulamayı oluşturduktan sonra bir İstemci Gizli Anahtarı oluşturun. Güvenli bir şekilde kopyalayıp sakladığınızdan emin olun; anahtarı tekrar göremezsiniz.
Bir İstemci Kimliği alırsınız ve bir İstemci Gizli Anahtarı oluşturmanız gerekir. Bu kimlik bilgilerini güvenli tutun ve istemci tarafı kodunda asla göstermeyin. PKCE akışını kullanıyorsanız istemci gizli anahtarı gerekmez.
Kullanılabilir Kapsamlar
Kapsamlar, OAuth Uygulamanızın hangi işlemleri gerçekleştirebileceğini belirler. Kullanılabilir kapsamlar kaynak türüne göre düzenlenmiştir:OAuth 2.0 Yetkilendirme Kodu Akışı
Teable, standart OAuth 2.0 Yetkilendirme Kodu akışını uygular:1. Adım: Kullanıcıları Yetkilendirmeye Yönlendirme
Kullanıcıları uygulama parametrelerinizle birlikte yetkilendirme uç noktasına yönlendirin:
Örnek:
2. Adım: Kullanıcı Yetkilendirmesi
Kullanıcılara aşağıdakileri gösteren bir yetkilendirme sayfası sunulur:- Uygulamanızın adı ve logosu
- İstenen izinler (kapsamlar)
- Erişimi onaylama veya reddetme seçenekleri
3. Adım: Geri Çağırmayı İşleme
Kullanıcı onayladıktan (veya reddettikten) sonra Teable, geri çağırma URL’nize yönlendirir: Başarılı olduğunda:4. Adım: Kodu Token’larla Değiştirme
Yetkilendirme kodunu erişim ve yenileme token’larıyla değiştirin:
Örnek İstek:
PKCE Yetkilendirme Akışı
PKCE (Proof Key for Code Exchange), yerel masaüstü uygulamaları, mobil uygulamalar, CLI araçları veya tek sayfalı uygulamalar gibi istemci gizli anahtarını güvenli şekilde saklayamayan uygulamalar için tasarlanmıştır.1. Adım: PKCE Parametreleri Oluşturma
Yetkilendirme başlatılmadan önce istemcinin bir PKCE parametresi çifti oluşturması gerekir:2. Adım: Kullanıcıları Yetkilendirmeye Yönlendirme
Örnek:
3. Adım: Geri Çağırmayı İşleme
Standart yetkilendirme kodu akışıyla aynıdır; kullanıcı onayından sonra yetkilendirme kodu yönlendirme aracılığıyla döndürülür.4. Adım: Kod + code_verifier Değerini Token’larla Değiştirme
PKCE modu
client_secret gerektirmez. Bunun yerine istemcinin kimliğini doğrulamak için code_verifier kullanılır.Cihaz Yetkilendirme Akışı
Cihaz Yetkilendirme İzni (RFC 8628), tarayıcı yönlendirmesi alamayan istemcilere yöneliktir: SSH üzerinden, bir kapsayıcı içinde veya bulut IDE’sinde çalışan bir CLI gibi. İstemciniz bir URL ve kısa bir kod gösterir, kullanıcı herhangi bir tarayıcıda onay verir ve terminale hiçbir şeyin yeniden yazılması gerekmez. Teable, RFC 8628’i izlediğinden çoğu OAuth istemci kitaplığı bu akışı özel kod olmadan yürütebilir. Aşağıda Teable’a özgü noktalar açıklanmaktadır.Cihaz Kodu İsteme
client_id ve isteğe bağlı scope ile POST /api/oauth/device/code isteği gönderin. Uç nokta anonimdir ve IP adresi başına 15 dakikada 30 istekle sınırlandırılmıştır.
BACKEND_OAUTH_DEVICE_CODE_EXPIRE_IN) ve interval, yoklamalar arasında beklenecek en az saniye sayısıdır.
verification_uri ve user_code değerlerini gösterin. Kullanıcı bu sayfada oturum açar, kodu girer ve onaylamadan veya reddetmeden önce uygulamanızın adını, ana sayfasını ve istenen kapsamları inceler. Sayfa, kendisinin başlatmadığı bir kodu onaylamaması konusunda kullanıcıyı uyarır. Her kod yalnızca bir kez kullanılabilir.
Teable
verification_uri_complete değerini döndürmez ve istemciniz de bu değeri oluşturmamalıdır. Onaylanan kod, onaylayan kişiyi kendi Teable hesabında oturum açtırır; dolayısıyla kodu önceden içeren bir bağlantı, cihaz kodu kimlik avının tam olarak dayandığı yöntemdir.Token’ları Yoklama
grant_type=urn:ietf:params:oauth:grant-type:device_code, device_code ve client_id ile POST /api/oauth/access_token isteği gönderin. Genel istemciler client_secret göndermez; gizli istemciler bunu diğer akışlarda olduğu gibi ekler.
Birisi kodu onaylayana kadar uç nokta, token’lar yerine bir hata döndürür:
Kullanıcı onayladıktan sonra yanıt, diğer akışlardaki token yüküyle aynı olur.
Erişim Token’larını Kullanma
API istekleri için erişim token’ınıAuthorization başlığına ekleyin:
baseId değerini kullanabilirsiniz.
Erişim Token’larını Yenileme
Bir erişim token’ının süresi dolduğunda yenisini almak için yenileme token’ını kullanın:
Örnek İstek:
Erişimi İptal Etme
OAuth Uygulaması Sahipleri İçin
Uygulamanın tüm kullanıcılara erişimini iptal edin (bunu yalnızca uygulamayı oluşturan kişi yapabilir):Kullanıcılar İçin
Belirli bir uygulama için kendi yetkilendirmenizi iptal edin:Uygulamalar İçin
Uygulamalar, bir Erişim Token’ı kullanarak kendi erişimlerini iptal edebilir:Bu uç nokta oturum kimlik doğrulamasını değil, yalnızca Erişim Token’ı kimlik doğrulamasını kabul eder.
Token Süreleri
Hata İşleme
Yaygın hata yanıtları:En İyi Uygulamalar
- Doğru modu seçin: Arka ucu bulunan web uygulamalarında istemci gizli anahtarı modunu, yerel uygulamalarda/CLI/SPA’larda PKCE modunu, istemcinin tarayıcı yönlendirmesi alamadığı durumlarda ise cihaz akışını kullanın
- Gizli anahtarları güvenle saklayın: İstemci Gizli Anahtarınızı istemci tarafı kodunda asla göstermeyin
- state parametresini kullanın: CSRF saldırılarını önlemek için her zaman rastgele bir
stateparametresi ekleyin - Asgari kapsamları isteyin: Yalnızca uygulamanızın gerçekten ihtiyaç duyduğu izinleri isteyin
- Token yenilemeyi yönetin: Süre dolmadan önce otomatik token yenilemeyi uygulayın
- Token’ları güvenle saklayın: Erişim ve yenileme token’larını sunucunuzda güvenli bir şekilde saklayın

