03 — Uygulama Kaydı ve Ortamlar
Kimin için: Uygulama mimarları ve entegrasyonu başlatan geliştiriciler.
Ön koşul: TALOST ID hesabı ve Temel Kavramlar.
Tahmini süre: 10 dakika.
Ne Öğreneceksiniz
- TALOST ID üzerinde yeni bir uygulama oluşturmayı ve temel ayarlarını yapılandırmayı,
- DEV, STAGING ve PRODUCTION ortamlarının izolasyon kurallarını,
- Geçerli Redirect URI, Allowed Origins ve Post-Logout kurallarını,
- İstemci anahtarı rotasyonunu (
rotate-secret).
Ortam Mimarisi ve İzolasyon Kuralları
TALOST ID, geliştirme ve canlı sistemlerin birbirini etkilememesi için katı bir 3'lü ortam mimarisine sahiptir:
Ortam (environment) |
Protokol Kuralı | Kimler Giriş Yapabilir? | İzin Verilen Alan Adları |
|---|---|---|---|
| DEVELOPMENT | HTTP veya HTTPS | Sadece Uygulama Ekip Üyeleri (APP_OWNER, APP_DEVELOPER) |
http://localhost:*, http://127.0.0.1:*, yerel custom portlar |
| STAGING | Kesinlikle HTTPS | Sadece Uygulama Ekip Üyeleri | https://*.stg.yourdomain.com, ön izleme alan adları |
| PRODUCTION | Kesinlikle HTTPS | Tüm TALOST ID Kullanıcıları (Erişim modeline göre) | https://yourdomain.com, https://app.yourdomain.com |
Redirect URI ve Güvenlik Kuralları
Giriş tamamlandıktan sonra kullanıcının yönlendirileceği adresler için aşağıdaki güvenlik standartları uygulanır:
- Tam Eşleşme (Exact Match):
Authorize isteğinde gönderilenredirect_uriile portalde kayıtlı adres karakteri karakterine aynı olmalıdır.- Örnek:
https://app.com/callback/(sonda slash var) ilehttps://app.com/callback(sonda slash yok) eşleşmez.
- Örnek:
- Joker Karakter (Wildcard) Yasaktır:
https://*.example.com/callbackgibi wildcard tanımlamalar OAuth 2.0 güvenlik açığı oluşturduğu için kabul edilmez. - Parça / Fragment (
#) Yasaktır:
URI içinde hash (#) işareti bulunamaz. - Yerel Ağ ve IP Kısıtlamaları:
http://localhostveyahttp://127.0.0.1adresleri yalnızca DEVELOPMENT ortamında geçerlidir; STAGING veya PRODUCTION istemcilerine kaydedilemez. - Özel Şemalar (Custom URI Schemes):
Mobil ve masaüstü uygulamalar için özel şemalar desteklenir (örn:talostapp://oauth/callback).
Adım Adım Yapılandırma
1. Yeni Uygulama Başvurusu
- TALOST ID Yöneticiniz tarafından oluşturulmuş bir uygulamanız varsa Geliştirici Portalı üzerinden doğrudan erişebilirsiniz.
- Uygulamanızın
slugdeğeri benzersizdir (örn:talost-flow).
2. İstemcileri Yapılandırma
Geliştirici Portalında uygulamanızı seçip Ortamlar sekmesine gelin:
- İstemci Türü:
- Confidential (Gizli İstemci): Sunucu taraflı web uygulamaları (Next.js, Node, Python, .NET, PHP).
client_secretgüvenli şekilde sunucuda tutulur. - Public (Açık İstemci): SPA (React, Vue) ve mobil/masaüstü istemciler.
client_secretbarındırmaz; yalnızca PKCE ile çalışır.
- Confidential (Gizli İstemci): Sunucu taraflı web uygulamaları (Next.js, Node, Python, .NET, PHP).
- Yönlendirme Adresleri (Redirect URIs): Uygulamanızın geri dönüş rotalarını her satıra bir adet gelecek şekilde girin.
- Çıkış Sonrası Adresler (Post Logout Redirect URIs): Kullanıcı oturumu kapattığında yönlendirilebileceği izinli adresler.
- İzin Verilen Kaynaklar (Allowed Origins): SPA uygulamaları için CORS izinli domainler (örn:
https://app.example.com).
İstemci Gizli Anahtarı (Client Secret) Rotasyonu
İstemci gizli anahtarınızın sızdığından şüphelenirseniz veya periyodik güvenlik gereği yenilemek isterseniz:
- Geliştirici Portalında ilgili istemci kartındaki Gizli Anahtarı Yenile (Rotate Secret) butonuna tıklayın.
- Açılan onay modalında onaylayın.
- Dikkat: Eski gizli anahtar anında geçersiz kılınır ve eski anahtarla çalışan servisler yeni anahtar güncellenene kadar token alamaz.
- Yeni üretilen anahtar ekranda yalnızca bir kez gösterilir. Hemen kopyalayıp güvenli ortam değişkenlerinize kaydedin.
Sık Yapılan Hatalar
- Port Uyuşmazlığı: Yerel sunucunuz
http://localhost:3001üzerinde çalışırken portaldehttp://localhost:3000kayıtlı olması durumundainvalid_requesthatası döner. - HTTPS İhlali: STAGING veya PRODUCTION ortamına
http://protokolüyle başlayan bir adres kaydedilemez. - Ekip Üyesi Olmayan Hesap: DEV istemcisinde test yaparken "Bu ortama erişim yetkiniz yok" uyarısı alırsanız, hesabınızı uygulamanın Ekip sekmesinden ekleyin.
Güvenlik Notları
- Canlı ortam (
PRODUCTION) anahtarlarını asla test sunucularına veya yerel ortama kopyalamayın. - İstemci kimliklerini (
client_id,client_secret) doğrudan git reposunagit commityapmayın; daima.envveya gizli anahtar kasaları (Vault vb.) kullanın.
İlgili Sayfalar
Son doğrulama: 2026-10-04 · Kaynak: _envanter.md, src/lib/apps/redirect-uri.ts
Son doğrulama: 2026-10-04 · Kaynak: `_envanter.md`, `src/lib/apps/redirect-uri.ts`