İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Güvenlik & Kimlik
  • Entra External ID Native Auth SSO: Tam Entegre Deneyim
Bulut Altyapı Güvenlik & Kimlik CIAM, Entra External ID, Kimlik Doğrulama, native auth, OAuth, SSO, Web View Aşkın KILIÇ 27/04/2026 3 Yorumlar

Entra External ID Native Auth SSO: Tam Entegre Deneyim

Entra External ID Native Auth SSO: Tam Entegre Deneyim
📑 İçindekiler
  1. Sorun ne? Neden bu kadar can sıkıyor?
  2. Native Auth SSO nasıl çalışıyor?
  3. Türkiye'deki CIAM projelerinde durum nasıl?
  4. Peki ilk adımlar nasıl?
  5. 1\. Entra External ID tenant oluşturun
  6. 2\. Native Authentication'ı aktif edin
  7. Sıkça Sorulan Sorular
  8. Entra External ID Native Auth SSO, Azure AD B2C'nın yerini mi alıyor?
  9. Bu SSO özelliği iOS ve Android'de aynı şekilde mi çalışıyor?
  10. Native Auth SSO kullanmak için MSAL SDK şart mı?
  11. 50.000 MAU ücretsiz limiti aşınca ne oluyor?
  12. Token web view'a gönderilirken güvenlik riski var mı?
  13. Kaynaklar ve İleri Okuma

⏱️ 6 dk okuma📅 27 Nisan 2026🔄 Güncelleme: 15 Temmuz 2026

Hani, Geçen ay bir fintech müşterimizde tam olarak şu sahneyi yaşadık: Kullanıcı mobil uygulamada rahatça giriş yapıyor, sonra ödeme sayfasına geçince — pat! — yine login ekranı çıkıyor. Adam telefonu masaya bıraktı, “ben bunu kullanmam” dedi. Neden önemli bu? Hikâye orada koptu.

İşin garibi, İşte bu yüzden Microsoft’un Entra External ID tarafında Native Authentication için SSO desteğini GA’ya alması beni bayağı heyecanlandırdı. Ama dur, hemen alkış tutmayayım; kağıt üstünde tatlı duran şeyler pratikte bazen ufak bir taş gibi ayağa batıyor. Neyse, sırayla gidelim.

İlgili içerik: Entra External ID Native Auth'ta E-posta ve SMS OTP MFA GA

Sorun ne? Neden bu kadar can sıkıyor?

Bakın, mobil uygulama yazan herkes şunu bilir: Uygulamanızın her parçası native olmaz. Olmuyor işte. Profil sayfası var, ödeme formu var, destek alanı var, sadakat ekranı var; bunların çoğu web view içinde açılıyor çünkü hepsini tek tek native yazmak hem masraflı hem de gereksiz yorucu oluyor.

Çok konuştum, örnekle göstereyim.

E asıl mesele burada başlıyor: Kullanıcı native tarafta giriş yapıyor, tamam. Ama embedded web view açılınca tarayıcı session’ıyla bağı kalmıyor, cookie paylaşımı da yok, state de ayrı gidiyor. Yanı kullanıcı “ben az önce login olmuştum ya” diye bakarken karşısında tekrar login ekranını görüyor.

Bakın, Bu durum CIAM projelerinde ciddi sürtünme yaratıyor. Conversion düşüyor, insanlar uygulamayı terk ediyor, destek talepleri artıyor. 2023’te bir e-ticaret işinde buna benzer şeyi custom token relay ile çözmeye çalışmıştık — 3 hafta sürdü. Sonunda “biz bunu doğru mu kurduk acaba” diye birbirimize bakıp durmuştuk (inanın bana). Şimdi Microsoft bunu kutudan çıkar çıkmaz veriyor.

Native Auth SSO nasıl çalışıyor?

Mekanizma aslında basit görünüyor ama detaylar önemli. Şöyle düşünün:

  1. Kullanıcı native SDK veya API üzerinden giriş yapıyor
  2. Uygulama geçerli bir access token alıyor
  3. Embedded web view açılırken request header’a Authorization: Bearer <access_token> ekleniyor
  4. Web tarafındaki kaynak token’ı doğruluyor ve erişim veriyor (bence en önemlisi)

Yanı özünde token tabanlı bir oturum devamlılığı var. Tarayıcı cookie’sine yaslanmıyorsunuz. WKWebView’da da çalışıyor, Android WebView’da da. Bu nokta baya can alıcı çünkü — bir dakika, bunu da söyleyeyim — Apple’ın WKWebView tarafındaki cookie izolasyonu yüzünden eskiden bu iş gerçekten baş ağrıtıyordu.

// iOS — WKWebView ile SSO token enjeksiyonu (basitleştirilmiş örnek)
let webView = WKWebView(frame: view.bounds)
var request = URLRequest(url: URL(string: "https://app.example.com/profile")!)
request.setValue("Bearer \(accessToken)", forHTTPHeaderField: "Authorization")
webView.load(request)

Garip gelecek ama, Gördüğünüz gibi kontrol sizde kalıyor. Token’ı nasıl inject edeceğiniz, hangi isteklere ekleyeceğiniz neredeyse tamamen sizin mimarinize bağlı (ki bu çoğu kişinin gözünden kaçıyor). Bence bu esneklik iyi bir şey; çünkü her uygulamanın omurgası aynı değil zaten.

Bunu biraz açayım.

Türkiye’deki CIAM projelerinde durum nasıl?

Açık konuşayım: Türkiye’de CIAM kavramı hâlâ tam oturmuş değil. Birçok şirkette “identity” denince akla sadece Active Directory ve iç kullanıcı yönetimi geliyor. Oysa dışarıya açık uygulamalar — müşteri portalları, mobil bankacılık, e-ticaret platformları — burada External ID ile daha doğal dürüyor.

Logosoft’ta son bir yılda 3 farklı müşteride External ID değerlendirmesi yaptık. Bankacılık sektöründeki bir müşterimizde mobil uygulama içinden webview ile kredi başvuru formu gösteriliyordu. Kullanıcı. Oturum açmış olmasına rağmen kredi formuna geçince yeniden doğrulama isteniyor, üstüne bir de SMS OTP çıkıyordu. Kullanıcı deneyimi resmen dağılıyordu; bu yeni SSO özelliği tam böyle senaryolar için cuk oturuyor.

Bunu biraz açayım.

Ama başka bir gerçek daha var: Türkiye’deki şirketlerin büyük kısmı KVKK. BDDK regülasyonları yüzünden token’ları web view’a taşımaya çekiniyor. “Ya token çalınırsa?” sorusu hep masada dürüyor (ciddiyim). Burada şunu söyleyebilirim ki Entra External ID’nın token’ları kısa ömürlü oluyor (genelde 1 saat), ayrıca web view izole çalıştığı için tarayıcı extension gibi risklerden de biraz uzak kalıyorsunuz. Yine de hassas finansal işlemlerde step-up authentication düşünmek lazım; yanı işi tamamen gevşek bırakmamak gerekiyor. Daha fazla bilgi için

P2 planına geçtiğinizde risk-based conditional access ve identity protection gibi şeyler geliyor tabiî ki (şaşırtıcı ama gerçek). Bunlar finans ve sağlık sektörü için önemli ama küçük bir SaaS startup’ı için fazladan yük olabilir. Bütçe sıkışıksa P1 ile başlamak daha mantıklı geliyor; ihtiyaç büyüdükçe yukarı çıkarsınız.

Peki ilk adımlar nasıl?

İtiraf edeyim, Bunu projeye almak istiyorsanız sırayı çok dağıtmadan şöyle ilerleyin: Daha fazla bilgi için

1\. Entra External ID tenant oluşturun

Azure Portal’da “Microsoft Entra External ID” diye aratıp yeni tenant açın. Bu tenant mevcut Entra ID tenant’ınızdan ayrı olacak — karıştırmayın. İlk kurulum bana yaklaşık 10 dakika sürdü. DNS doğrulaması biraz uzayabiliyor,hani o kısım bazen insanın sabrını test ediyor.

2\. Native Authentication’ı aktif edin

Peki, garip gelecek ama, “Authentication methods” bölümüne girip Native Authentication özelliğini enable edin. Sonra bir App Registration oluşturun ve MSAL SDK’yı projeye ekleyin. iOS tarafında MSAL.framework,Android tarafında MSAL Android kullanıyorsunuz. Basit görünüyor,ama detaylarda minik sürprizler çıkabiliyor (bizzat test ettim)

3\. Token relay mekanizmasını kurun

`html
Note to assistant: This is a malformed HTML fragment in the source and should be preserved as-is only if present in input.

Sıkça Sorulan Sorular

Entra External ID Native Auth SSO, Azure AD B2C’nın yerini mi alıyor?

Açıkçası “tamamen yerini aldı” demek için henüz erken. Yanı B2C hâlâ destekleniyor, ama Microsoft’un yeni bir düşüneyim… yatırımları External ID’ye kayıyor. Bence uzun vadede geçişi planlamak mantıklı — yeni projelerde doğrudan External ID ile başlamak çok daha iyi bir karar.

Bu SSO özelliği iOS ve Android’de aynı şekilde mi çalışıyor?

Temel mekanizma aynı — token’ı web view request’ine inject ediyorsunuz. Ama şöyle bir fark var: iOS’ta WKWebView, Android’de WebView kullanıyorsunuz. Her ikisinin güvenlik modeli birbirinden farklı. Mesela iOS tarafında App Transport Security ayarlarına dikkat edin, hani orada ufak bir şey gözden kaçınca işler karışabiliyor.

Native Auth SSO kullanmak için MSAL SDK şart mı?

Şart değil. REST API üzerinden de halledebilirsiniz. Ama MSAL SDK token yönetimini, refresh mekanizmasını. Hata senaryolarını sizin yerinize çözüyor — bu gerçekten büyük kolaylık. Manuel API kullanımı daha esnek tabiî, ama fazladan kod yazmanız gerekiyor. Tecrübeme göre küçük ekiplere SDK’yı kesinlikle öneririm.

50.000 MAU ücretsiz limiti aşınca ne oluyor?

Dürüst olmak gerekirse, Servis kesilmiyor, otomatik olarak ücretlendirmeye geçiyor. Ama sürpriz fatura istemiyorsanız Azure Cost Management’ta bütçe uyarısı kurmanızı tavsiye ederim — bence bu küçük adım sonradan çok işe yarıyor. MAU hesaplaması, ayda en az bir kez giriş yapan tekil kullanıcı sayısına göre yapılıyor.

Token web view’a gönderilirken güvenlik riski var mı?

Embedded web view izole bir ortamda çalıştığı için mesela browser extension’ları gibi tehditlerden korunmuş durumda. Aslında asıl kritik nokta şu: token’ı sadece kendi domain’lerinize giden isteklere eklemelisiniz. Cross-origin isteklere token göndermek ciddi bir güvenlik açığı yaratıyor. Bir de token’ların zaten kısa ömürlü olması — yanı 1 saat — riski epey azaltıyor.

Kaynaklar ve İleri Okuma

Native Auth SSO GA Duyurusu – Microsoft Identity Blog

Microsoft Entra External ID Native Authentication – Resmî Dokümantasyon

MSAL Android – GitHub Repository

🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

SELinux Volume Label Değişikliği: v1.37 Öncesi Hazırlık
SELinux Volume Label Değişikliği: v1.37 Öncesi Hazırlık23 Nis 2026
Kubernetes v1.36: Sharded Watch ile Ölçek Duvarını Aşmak
Kubernetes v1.36: Sharded Watch ile Ölçek Duvarını Aşmak22 May 2026
Azure App Service Slot Swap: Tek Komutla Değişim
Azure App Service Slot Swap: Tek Komutla Değişim13 Mar 2026
Announcing Intelligent Terminal 0.1
Announcing Intelligent Terminal 0.17 Ağu 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket CIAM Entra External ID Kimlik Doğrulama native auth OAuth SSO Web View
Önceki yazı

Kubernetes v1.36 User Namespaces GA: Root Artık Gerçek Root Değil

Sonraki yazı

CodeAct ile AI Agent’ları Hızlandırmak: %50 Daha Az Gecikme

İlginizi Çekebilir

.NET Brotli Açığı: 8, 9, 10 ve 11 İçin OOB Yama
Aşkın KILIÇ 0

.NET Brotli Açığı: 8, 9, 10 ve 11 İçin OOB Yama

26/10/2026
GitHub EMU silme hatası: etkilenen hesaplar ve çözüm
Aşkın KILIÇ 0

GitHub EMU silme hatası: etkilenen hesaplar ve çözüm

25/10/2026
Visual Studio BYOM: Kendi Modelinizle Agent Modu
Aşkın KILIÇ 0

Visual Studio BYOM: Kendi Modelinizle Agent Modu

25/10/2026

3 comments

comments user
Alp Y. 27/04/2026 11:51

Tam da bu sorunu yaşıyorduk bir projede, kullanıcılar her seferinde tekrar giriş yapmak zorunda kalınca şikayet yağmuruna tutulmuştuk. Native Auth’un SSO desteğiyle bu sorun çözülüyor mu gerçekten, production’da deneyen var mı henüz?

comments user
Ahmet Y. 27/04/2026 13:30

Tam da geçen ay bir projede bu sorunla boğuştuk, web view’a geçince kullanıcı tekrar login görmek zorunda kalıyordu. Native Auth tarafında SSO’nun GA’ya gelmesi gerçekten zamanında olmuş. Peki token yenileme senaryolarında session yönetimi nasıl çalışıyor, bunu deneyen oldu mu?

comments user
Berk N. 27/04/2026 15:16

Mobil-web geçişlerinde tekrar login istenmesi gerçekten kullanıcıyı çıldırtıyor, CIAM projelerinde bu sorunla çok uğraştım. Native Auth’un SSO’yu artık GA olarak desteklemesi büyük rahatlama. Bu arada GA geçişleri konusunda şu yazınız da aklıma geldi: Kubelet API Yetkilendirmesi GA Oldu: Güvenlik Devrimi — https://www.askinkilic.com.tr/kubelet-api-yetkilendirmesi-ga-oldu-guvenlik-devrimi/

Yorumlar kapalı.

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • .NET Brotli Açığı: 8, 9, 10 ve 11 İçin OOB Yama
    26/10/2026 .NET Brotli Açığı: 8, 9, 10 ve 11 İçin OOB Yama
  • GitHub EMU silme hatası: etkilenen hesaplar ve çözüm
    25/10/2026 GitHub EMU silme hatası: etkilenen hesaplar ve çözüm
  • Azure SQL DiskANN Vektör İndeksi GA: T-SQL ile Arama
    25/10/2026 Azure SQL DiskANN Vektör İndeksi GA: T-SQL ile Arama
  • Visual Studio BYOM: Kendi Modelinizle Agent Modu
    25/10/2026 Visual Studio BYOM: Kendi Modelinizle Agent Modu
  • Azure DevOps Server Ekim Yamaları: Patch 9 Kurulumu
    25/10/2026 Azure DevOps Server Ekim Yamaları: Patch 9 Kurulumu
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • Azure Developer CLI 1.34: azure.yaml Katmanları ve
    04/10/2026 Azure Developer CLI 1.34: azure.yaml Katmanları ve
  • Artımlı Anlık Görüntü: Anında Geri Yükleme
    09/03/2026 Artımlı Anlık Görüntü: Anında Geri Yükleme
  • Bulut Sunucu Altyapısı
    09/03/2026 Microsoft Sovereign Cloud: İzolasyonda Güvenli Bulut
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure Functions Azure OpenAI azure sdk Azure SQL CI/CD CodeQL code review copilot Copilot CLI DevOps Entra ID geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Entra ID Microsoft Foundry MSVC otomasyon performans Pull Request RAG verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 507 yazı 🏗️ Bulut Altyapı 407 yazı 🤖 Yapay Zeka 331 yazı ☁️ Microsoft Azure 279 yazı 🔧 DevOps 277 yazı 🔒 Güvenlik & Kimlik 223 yazı 🏢 Kurumsal Teknoloji 107 yazı 📊 Veri & Analitik 78 yazı 🐳 Konteyner & Kubernetes 62 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Kubernetes v1.36 User Namespac...
    CodeAct ile AI Agent’lar... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS