Skip to main content
OAuth Uygulamaları, üçüncü taraf uygulamaların kullanıcılar adına Teable’a erişmesini sağlar. Bu kılavuzda bir OAuth Uygulamasının nasıl oluşturulup yapılandırılacağı, OAuth 2.0 yetkilendirme akışının nasıl uygulanacağı ve Teable API ile etkileşim kurmak için erişim token’larının nasıl kullanılacağı açıklanmaktadır. Teable üç OAuth 2.0 yetkilendirme modunu destekler:
  • 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

  1. Teable hesabınızda Ayarlar > OAuth Uygulamaları bölümüne gidin.
  2. Yeni bir uygulama oluşturmak için Yeni OAuth Uygulamaları’na tıklayın.
  3. 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
  4. 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:
Yalnızca uygulamanızın gerçekten ihtiyaç duyduğu kapsamları isteyin. Kullanıcılar, yetkilendirme sırasında istenen izinleri görür.

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:
Sorgu Parametreleri: Ö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
Kullanıcı uygulamanızı daha önce yetkilendirdiyse (varsayılan olarak son 7 gün içinde), yetkilendirme sayfasını yeniden görmeden hemen yönlendirilir.

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:
Reddedildiğinde:

4. Adım: Kodu Token’larla Değiştirme

Yetkilendirme kodunu erişim ve yenileme token’larıyla değiştirin:
İstek Gövdesi: Örnek İstek:
Yanıt:

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

Sorgu Parametreleri: Örnek:
PKCE modunda redirect_uri, esnek bağlantı noktası eşleştirmesiyle geri döngü adreslerini (http://127.0.0.1, http://[::1], http://localhost) destekler; her bağlantı noktasını ayrı ayrı kaydetmeniz gerekmez.

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

İstek Gövdesi:
PKCE modu client_secret gerektirmez. Bunun yerine istemcinin kimliğini doğrulamak için code_verifier kullanılır.
Örnek İstek:
Yanıt biçimi standart yetkilendirme kodu akışıyla aynıdı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 akışı varsayılan olarak kapalıdır. Kullanmadan önce OAuth Uygulaması ayarlarınızda Cihaz akışını etkinleştir seçeneğini açın. İstemci Kimliğinizi bilen herkes uygulamanızın adıyla bu akışı başlatabilir; bu nedenle yalnızca uygulamanızın ihtiyacı varsa etkinleştirin. Yeniden kapatılması, hâlihazırda onay bekleyen istekleri de durdurur.

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.
Her iki kodun süresi de 15 dakika sonra dolar (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:
Token alındıktan sonraki ilk adım genellikle mevcut kullanıcının erişebildiği tüm Veritabanlarını almaktır:
Bu uç nokta, mevcut kullanıcının erişim iznine sahip olduğu tüm Veritabanlarını döndürür. Sonraki API çağrılarında yanıttaki 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:
İstek Gövdesi: Örnek İstek:
Yenilemeden sonra önceki yenileme token’ı geçersiz olur (Yenileme Token’ı Rotasyonu). Yanıttaki yeni yenileme token’ını her zaman saklayın.

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):
Bu işlem tüm kullanıcıların yetkilendirme Kayıtlarını ve token’larını silerek uygulamanın herhangi bir kullanıcının verilerine erişmesini tamamen engeller.

Kullanıcılar İçin

Belirli bir uygulama için kendi yetkilendirmenizi iptal edin:
Bu işlem diğer kullanıcıları etkilemeden yalnızca mevcut kullanıcının erişim ve yenileme token’larını geçersiz kılar. Kullanıcılar, Yetkilendirilmiş Uygulamalar ayarları sayfasından da erişimi iptal edebilir.

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

  1. 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
  2. Gizli anahtarları güvenle saklayın: İstemci Gizli Anahtarınızı istemci tarafı kodunda asla göstermeyin
  3. state parametresini kullanın: CSRF saldırılarını önlemek için her zaman rastgele bir state parametresi ekleyin
  4. Asgari kapsamları isteyin: Yalnızca uygulamanızın gerçekten ihtiyaç duyduğu izinleri isteyin
  5. Token yenilemeyi yönetin: Süre dolmadan önce otomatik token yenilemeyi uygulayın
  6. Token’ları güvenle saklayın: Erişim ve yenileme token’larını sunucunuzda güvenli bir şekilde saklayın

Eksiksiz Örnekler

Node.js (Yetkilendirme Kodu + İstemci Gizli Anahtarı)

Python (CLI Araçları için PKCE Modu)

Son değiştirilme tarihi 4 Eylül 2026