Ana içeriğe atla
Twenty, kullanıcıya dönük uygulamalar için yetkilendirme kodu + PKCE’yi ve sunucudan sunucuya erişim için istemci kimlik bilgilerini kullanarak OAuth 2.0’ı uygular. İstemciler RFC 7591 aracılığıyla dinamik olarak kaydedilir — bir kontrol panelinde manuel kurulum gerekmez.

OAuth Ne Zaman Kullanılır

SenaryoKimlik Doğrulama Yöntemi
Dahili betikler, otomasyonAPI Anahtarı
Bir kullanıcının adına hareket eden harici uygulamaOAuth — Yetkilendirme Kodu
Sunucudan sunucuya, kullanıcı bağlamı yokOAuth — İstemci Kimlik Bilgileri
UI uzantılarına sahip Twenty UygulamasıUygulamalar (OAuth otomatik olarak yönetilir)

Bir İstemci Kaydedin

Twenty, RFC 7591 uyarınca dinamik istemci kaydını destekler. Manuel kurulum gerekmez — programatik olarak kaydedin:
POST /oauth/register
Content-Type: application/json

{
  "client_name": "My Integration",
  "redirect_uris": ["https://myapp.com/callback"],
  "grant_types": ["authorization_code"],
  "token_endpoint_auth_method": "client_secret_post"
}
Yanıt:
{
  "client_id": "abc123",
  "client_secret": "secret456",
  "client_name": "My Integration",
  "redirect_uris": ["https://myapp.com/callback"]
}
client_secret değerini güvenli bir şekilde saklayın — daha sonra geri alınamaz.

Kapsamlar

KapsamErişim
apiCore ve Metadata API’lerine tam okuma/yazma erişimi
profileKimliği doğrulanmış kullanıcının profil bilgilerini okuyun
Kapsamları boşlukla ayrılmış bir dize olarak isteyin: scope=api profile

Yetkilendirme Kodu Akışı

Uygulamanız bir Twenty kullanıcısı adına hareket ettiğinde bu akışı kullanın.

1. Kullanıcıyı yetkilendirmek için yönlendirin

GET /oauth/authorize?
  client_id=YOUR_CLIENT_ID&
  response_type=code&
  redirect_uri=https://myapp.com/callback&
  scope=api&
  state=random_state_value&
  code_challenge=CHALLENGE&
  code_challenge_method=S256
ParametreZorunluAçıklama
client_idEvetKayıtlı istemci kimliğiniz
response_typeEvetcode olmalıdır
redirect_uriEvetKayıtlı bir yönlendirme URI’siyle eşleşmelidir
scopeHayırBoşlukla ayrılmış kapsamlar (varsayılan: api)
stateÖnerilenCSRF saldırılarını önlemek için rastgele bir dize
code_challengeÖnerilenPKCE challenge (doğrulayıcının SHA-256 karması, base64url ile kodlanmış)
code_challenge_methodÖnerilenPKCE kullanılırken S256 olmalıdır
Kullanıcı bir onay ekranı görür ve erişimi onaylar veya reddeder.

2. Geri dönüşü işleyin

Yetkilendirmeden sonra, Twenty redirect_uri adresinize geri yönlendirir:
https://myapp.com/callback?code=AUTH_CODE&state=random_state_value
state değerinin gönderdiğinizle eşleştiğini doğrulayın.

3. Kodu belirteçlerle değiş tokuş edin

POST /oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&
code=AUTH_CODE&
redirect_uri=https://myapp.com/callback&
client_id=YOUR_CLIENT_ID&
client_secret=YOUR_CLIENT_SECRET&
code_verifier=YOUR_PKCE_VERIFIER
Yanıt:
{
  "access_token": "eyJhbG...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "dGhpcyBpcyBh..."
}

4. Erişim belirtecini kullanın

GET /rest/companies
Authorization: Bearer ACCESS_TOKEN

5. Süresi dolduğunda yenileyin

POST /oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token&
refresh_token=YOUR_REFRESH_TOKEN&
client_id=YOUR_CLIENT_ID&
client_secret=YOUR_CLIENT_SECRET

İstemci Kimlik Bilgileri Akışı

Sunucudan sunucuya, kullanıcı etkileşimi olmayan entegrasyonlar için:
POST /oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&
client_id=YOUR_CLIENT_ID&
client_secret=YOUR_CLIENT_SECRET&
scope=api
Döndürülen belirteç, belirli bir kullanıcıya bağlı olmayan, çalışma alanı düzeyinde erişime sahiptir.

Sunucu Keşfi

Twenty, OAuth yapılandırmasını standart bir keşif uç noktasında yayımlar:
GET /.well-known/oauth-authorization-server
Bu, tüm uç noktaları, desteklenen grant türlerini, kapsamları ve yetenekleri döndürür — genel OAuth istemcileri oluşturmak için kullanışlıdır.

API Uç Noktaları Özeti

Uç noktaAmaç
/.well-known/oauth-authorization-serverSunucu üstverisi keşfi
/oauth/registerDinamik istemci kaydı
/oauth/authorizeKullanıcı yetkilendirmesi
/oauth/tokenBelirteç değişimi ve yenileme
OrtamTemel URL
Buluthttps://api.twenty.com
Kendi Kendine Barındırmahttps://{your-domain}

OAuth ve API Anahtarları

API AnahtarlarıOAuth
KurulumAyarlar’da oluşturunBir istemci kaydedin, akışı uygulayın
Kullanıcı bağlamıYok (çalışma alanı düzeyi)Belirli bir kullanıcının izinleri
En uygunBetikler, dahili araçlarHarici uygulamalar, çok kullanıcılı entegrasyonlar
Belirteç döndürmeManuelYenileme belirteçleri aracılığıyla otomatik olarak
Kapsama dayalı erişimTam API erişimiKapsamlar aracılığıyla ayrıntılı