Aracılığıyla paylaş


Özel kimlik doğrulama uzantılarına genel bakış

Bu makalede, Microsoft Entra Id için özel kimlik doğrulama uzantılarına yönelik üst düzey, teknik bir genel bakış sağlanmaktadır. Özel kimlik doğrulama uzantıları, dış sistemlerle tümleştirerek Microsoft Entra kimlik doğrulama deneyimini özelleştirmenize olanak tanır.

Aşağıdaki diyagramda, özel kimlik doğrulama uzantısıyla tümleştirilmiş oturum açma akışı gösterilmiştir.

Dış kaynaktan gelen taleplerle genişletilen bir belirteci gösteren diyagram.

  1. Bir kullanıcı uygulamada oturum açmayı dener ve Microsoft Entra oturum açma sayfasına yönlendirilir.
  2. Kullanıcı kimlik doğrulamasında belirli bir adımı tamamladıktan sonra bir olay dinleyicisi tetiklenir.
  3. Özel kimlik doğrulama uzantınız REST API uç noktanıza bir HTTP isteği gönderir. İstek olay, kullanıcı profili, oturum verileri ve diğer bağlam bilgileri hakkında bilgi içerir.
  4. REST API özel bir iş akışı gerçekleştirir.
  5. REST API, Microsoft Entra Id'ye bir HTTP yanıtı döndürür.
  6. Microsoft Entra özel kimlik doğrulama uzantısı yanıtı işler ve kimlik doğrulamasını olay türüne ve HTTP yanıt yüküne göre özelleştirir.
  7. Bir belirteçuygulamaya döndürülür.

Özel kimlik doğrulama uzantısı REST API uç noktası

Bir olay tetiklendiğinde, Microsoft Entra ID, sizin sahip olduğunuz bir REST API uç noktasını çağırır. REST API'ye yapılan istek olay, kullanıcı profili, kimlik doğrulama isteği verileri ve diğer bağlam bilgileri hakkında bilgi içerir.

Özel kimlik doğrulama uzantıları REST API'nizi oluşturmak ve barındırmak için herhangi bir programlama dilini, çerçeveyi ve barındırma ortamını kullanabilirsiniz. Kullanmaya başlamanın hızlı bir yolu için C# Azure İşlevi'ni kullanın. Azure İşlevleri, önce bir sanal makine (VM) oluşturmak veya bir web uygulaması yayımlamak zorunda kalmadan kodunuzu sunucusuz bir ortamda çalıştırmanıza olanak tanır.

REST API'nizin şunları işlemesi gerekir:

  • REST API çağrılarının güvenliğini sağlamak için belirteç doğrulaması.
  • İş mantığı
  • HTTP isteği ve yanıt şemalarının gelen ve giden doğrulaması.
  • Denetim ve kayıt.
  • Kullanılabilirlik, performans ve güvenlik denetimleri.

Azure İşlevleri üzerinde REST API çalıştıran geliştiriciler için Microsoft Azure'ın yerleşik kimlik doğrulama özelliklerini kullanarak belirteç doğrulama uygulamasına yardımcı olan Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents NuGet kitaplığını kullanmayı göz önünde bulundurun. Farklı olay türleri için bir veri modeli sağlar, gelen ve giden istek ve yanıt işlemeyi başlatır, böylece iş mantığına daha fazla odaklanılabilir.

REST API'nizi koruma

Özel kimlik doğrulama uzantısı ile REST API'niz arasındaki iletişimlerin uygun şekilde güvenli hale getirilmesi için birden çok güvenlik denetiminin uygulanması gerekir.

  1. Özel kimlik doğrulama uzantısı REST API'nizi çağırdığında, Microsoft Entra Id tarafından verilen taşıyıcı belirteci içeren bir HTTP Authorization üst bilgisi gönderir.
  2. Taşıyıcı belirteci bir appid veya azp talebi içerir. İlgili talebin 99045fe1-7639-4a75-9d4a-577b6ca3810f değerini içerdiğini doğrulayın. Bu değer, REST API'yi çağıran kişinin Microsoft Entra Kimliği olmasını sağlar.
    1. V1 Başvuruları için, appid iddiasını doğrulayın.
    2. V2 Uygulamaları için azp taleplerini doğrulayın.
  3. Taşıyıcı belirteci aud hedef kitle talebi, ilişkili uygulama kaydının kimliğini içerir. REST API uç noktanızın taşıyıcı belirtecin ilgili hedef kitle için verildiğini doğrulaması gerekir.
  4. Taşıyıcı belirteci iss veren talebi, Microsoft Entra veren URL'sini içerir. Kiracı yapılandırmanıza bağlı olarak, URL yayımcısı aşağıdakilerden biri olur.
    • İş Gücü: https://login.microsoftonline.com/{tenantId}/v2.0.
    • Müşteri: https://{domainName}.ciamlogin.com/{tenantId}/v2.0.

Özel kimlik doğrulaması olay türleri

Kaydolma ve oturum açma kullanıcı akışında yerleşik kimlik doğrulama olayları vardır. Ayrıca, kimlik doğrulama akışının belirli noktalarına özel kimlik doğrulama uzantıları da ekleyebilirsiniz. Özel kimlik doğrulama uzantısı temelde, etkinleştirildiğinde iş akışı eylemi tanımladığınız REST API uç noktasına HTTP çağrısı yapan bir olay dinleyicisidir. Bu bölümde, Microsoft Entra Id'de kullanılabilen özel kimlik doğrulama olayları listelenir.

Jeton verme başlangıç etkinliği

Bir uygulamaya belirteç verilmek üzereyken belirteç verme başlangıç olayı OnTokenIssuanceStart tetikleniyor. Özel talep sağlayıcısı içinde ayarlanmış bir olay türüdür. Özel talep sağlayıcısı, dış sistemlerden talep getirmek için REST API çağıran özel bir kimlik doğrulama uzantısıdır. Özel talep sağlayıcısı, dış sistemlerden gelen talepleri belirteçlerle eşler ve dizininizdeki bir veya birden çok uygulamaya atanabilir.

Ayrıntılar için bkz. özel talep sağlayıcıları.

Öznitelik toplama başlangıcı

Öznitelik koleksiyonu başlangıç olayları, bir kullanıcıdan öznitelikler toplanmadan önce mantık eklemek için özel kimlik doğrulama uzantılarıyla kullanılabilir. OnAttributeCollectionStart olayı, öznitelik koleksiyonu sayfasının işlenmesinden önce öznitelik koleksiyonu adımının başında gerçekleşir. Değerleri önceden doldurma ve engelleme hatası görüntüleme gibi eylemler eklemenize olanak tanır.

Not

Öznitelik toplama başlangıç olayı yalnızca dış kiracılara yönelik Microsoft Entra Dış Kimliği'ndeki kullanıcı akışları için kullanılabilir. Ayrıntılar için Kendi iş mantığınızı ekleme bağlantısını inceleyin.

Öznitelik koleksiyonu gönderme

Öznitelik koleksiyonu gönderme olayları, bir kullanıcıdan öznitelikler toplandıktan sonra mantık eklemek için özel kimlik doğrulama uzantılarıyla kullanılabilir. OnAttributeCollectionSubmit olayı, kullanıcı öznitelikleri girip gönderdikten sonra tetikler ve girişleri doğrulama veya öznitelikleri değiştirme gibi eylemler eklemenize olanak tanır.

Not

Öznitelik koleksiyonu gönderme olayı yalnızca harici kiracılardaki Microsoft Entra External ID'deki kullanıcı işlemleri akışları için kullanılabilir. Ayrıntılar için bkz . Kendi iş mantığınızı ekleme.

Tek seferlik geçiş kodu gönderme olayı

OnOtpSend olayı, tek seferlik geçiş kodu e-postası etkinleştirildiğinde tetikleniyor. Kendi e-posta sağlayıcınızı kullanmak için REST API'yi çağırmanıza olanak tanır. Bu olay, kaydolan, parolasını sıfırlayan, e-posta ve tek seferlik geçiş koduyla oturum açan veya çok faktörlü e-posta kimlik doğrulaması (MFA) yapan kullanıcılara özelleştirilmiş e-postalar göndermek için kullanılabilir.

OnOtpSend olayı etkinleştirildiğinde, Microsoft Entra sahip olduğunuz belirtilen REST API'ye tek seferlik bir geçiş kodu gönderir. REST API daha sonra azure iletişim hizmeti veya SendGrid gibi seçtiğiniz e-posta sağlayıcısını kullanarak adres ve e-posta konularından özel e-posta şablonunuzla tek seferlik geçiş kodunu gönderir ve yerelleştirmeyi destekler.

Not

Tek seferlik geçiş kodu gönderme olayı şu anda yalnızca dış kiracılardaki Microsoft Entra Dış Kimliği'ndeki kullanıcı akışları için kullanılabilir. Ayrıntılar için bkz. Özel e-posta sağlayıcısını tek seferlik geçiş kodu gönderme olayları için yapılandırma