Client ID ve client secret nedir?
Kısa cevap
Client ID ve client secret, bir uygulamanın OAuth 2.0 / OpenID Connect sağlayıcısındaki kaydına ait bilgilerdir (RFC 6749). Client ID uygulamanın herkese açık kimliğidir ve authorization isteklerinde görünür; client secret ise uygulamanın token endpoint'inde kendini kanıtladığı gizli değerdir ve yalnızca sunucu tarafında tutulur. İkisi sağlayıcıda (ör. Google Cloud Console, Microsoft Entra ID) uygulama kaydı oluşturulduğunda üretilir. TR7 AGS'de OAuth2 ve OpenID Connect türlerinde bu değerler Client ID (zorunlu) ve Client Secret alanlarına girilir; secret maskeli alana yazılır ve önizlemede maskeli gösterilir. Custom Provider'da Client Authentication alanı secret'ın token endpoint'ine istek gövdesinde mi (client_secret_post, varsayılan) yoksa HTTP Basic header'ında mı (client_secret_basic) gönderileceğini seçer; secret'sız kaydedilen public client'larda "Public client — no client secret sent" seçilir ve Client Secret boş bırakılır.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| AGS → Authentication → Authentication Providers (OAuth2, OpenID Connect) | Client ID, Client Secret | Sağlayıcıdaki uygulama kaydının kimliği ve secret'ı |
| Aynı form (Custom Provider) | Client Authentication: client_secret_post (varsayılan), client_secret_basic, Public client | Secret'ın token endpoint'ine gönderilme biçimi |
| Aynı form (Custom Provider) | User Info Parameters; {clientId}, {clientSecret} yer tutucuları | Sağlayıcının user info isteğinde istediği ek parametreler |
| Aynı form | Redirect URI | Sağlayıcıdaki uygulama kaydına Client ID ile birlikte yazılan dönüş adresi |
Sık Karıştırılan Noktalar
- "Client ID gizli tutulmalıdır." Client ID herkese açıktır ve tarayıcının gittiği authorization adresinde görünür; gizli tutulması gereken client secret'tır.
- "Client secret kullanıcının parolasıdır." Secret uygulamaya, yani TR7'deki sağlayıcı profiline aittir; kullanıcıların parolalarıyla ilgisi yoktur.
- "Secret değiştirildiğinde TR7 kendiliğinden günceller." Sağlayıcıda secret yenilendiğinde ya da süresi dolduğunda yeni değer TR7'deki Client Secret alanına girilir; aksi hâlde token alınamaz ve giriş başarısız olur.
Dokümantasyonda nasıl yapılır
