Aracılığıyla paylaş


Azure AD B2C: Kimlik doğrulama protokolleri

Önemli

1 Mayıs 2025 tarihinden itibaren Azure AD B2C artık yeni müşteriler için satın alınamayacak. SSS bölümünden daha fazla bilgi edinebilirsiniz.

Azure Active Directory B2C (Azure AD B2C), endüstri standardı iki protokolü destekleyerek uygulamalarınız için hizmet olarak kimlik sağlar: OpenID Connect ve OAuth 2.0. Hizmet standartlara uygundur, ancak bu protokollerin her iki uygulaması küçük farklılıklara sahip olabilir.

Bu kılavuzdaki bilgiler, kodunuzu açık kaynak kitaplığı kullanmak yerine doğrudan HTTP istekleri göndererek ve işleyerek yazarsanız yararlıdır. Belirli protokollerin ayrıntılarını incelemeden önce bu sayfayı okumanızı öneririz. Ancak Azure AD B2C'yi zaten biliyorsanız doğrudan protokol başvuru kılavuzlarına gidebilirsiniz.

Temel bilgiler

Azure AD B2C kullanan her uygulamanın Azure portalındaki B2C dizininize kaydedilmesi gerekir. Uygulama kayıt işlemi, uygulamanıza birkaç değer toplar ve atar:

  • Uygulamanızı benzersiz olarak tanımlayan bir Uygulama Kimliği .

  • Yanıtları uygulamanıza geri yönlendirmek için kullanılabilecek bir Yeniden Yönlendirme URI'si veya paket tanımlayıcısı .

  • Senaryoya özgü birkaç değer daha. Daha fazla bilgi için uygulamanızı kaydetmeyi öğrenin.

Uygulamanızı kaydettikten sonra uç noktaya istek göndererek Azure AD B2C ile iletişim kurar:

https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/oauth2/v2.0/authorize
https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/oauth2/v2.0/token

Eğer bir özel alan adı kullanıyorsanız, uç noktaları kendi etki alanınızla değiştirin, örneğin {tenant}.b2clogin.com.

Neredeyse tüm OAuth ve OpenID Connect akışlarında, değişime dört taraf dahil edilir:

Dört OAuth 2.0 Rolünü gösteren diyagram.

  • Yetkilendirme sunucusu, Azure AD B2C uç noktasıdır. Kullanıcı bilgileri ve erişimle ilgili her şeyi güvenli bir şekilde işler. Akıştaki taraflar arasındaki güven ilişkilerini de işler. Kullanıcının kimliğini doğrulamak, kaynaklara erişim izni vermek ve izni iptal etmek, belirteçler vermek sorumludur. Kimlik sağlayıcısı olarak da bilinir.

  • Kaynak sahibi genellikle son kullanıcıdır. Verilerin sahibi taraftır ve üçüncü tarafların bu verilere veya kaynağa erişmesine izin verme gücüne sahiptir.

  • OAuth istemcisi uygulamanızdır. Kendi uygulama kimliğiyle tanımlanır. Genellikle son kullanıcıların etkileşimde olduğu taraftır. Ayrıca yetkilendirme sunucusundan belirteçler de isteyebilir. Kaynak sahibi, istemciye kaynağa erişim izni vermelidir.

  • Kaynak sunucusu, kaynağın veya verilerin bulunduğu yerdir. OAuth istemcisinin kimliğini güvenli bir şekilde doğrulamak ve yetkilendirmek için yetkilendirme sunucusuna güvenir. Ayrıca, bir kaynağa erişim verebilmek için taşıyıcı erişim belirteçlerini kullanır.

İlkeler ve kullanıcı akışları

Azure AD B2C, ilkeler sunarak standart OAuth 2.0 ve OpenID Connect protokollerini genişletir. Bunlar, Azure AD B2C'nin basit kimlik doğrulaması ve yetkilendirmeden çok daha fazlasını gerçekleştirmesine olanak sağlar.

Azure AD B2C portalı, en yaygın kimlik görevlerini ayarlamanıza yardımcı olmak için kullanıcı akışları olarak adlandırılan önceden tanımlanmış, yapılandırılabilir ilkeler içerir. Kullanıcı akışları kaydolma, oturum açma ve profil düzenleme dahil olmak üzere tüketici kimliği deneyimlerini tam olarak açıklar. Kullanıcı akışları bir yönetim kullanıcı arabiriminde tanımlanabilir. HTTP kimlik doğrulama isteklerinde özel bir sorgu parametresi kullanılarak yürütülebilirler.

İlkeler ve kullanıcı akışları OAuth 2.0 ve OpenID Connect'in standart özellikleri değildir, bu nedenle bunları anlamak için zaman ayırmanız gerekir. Daha fazla bilgi için bkz. Azure AD B2C kullanıcı akışı başvuru kılavuzu.

Token'lar

OAuth 2.0 ve OpenID Connect'in Azure AD B2C uygulaması, JSON web belirteçleri (JWT) olarak temsil edilen taşıyıcı belirteçler de dahil olmak üzere taşıyıcı belirteçleri kapsamlı bir şekilde kullanır. Taşıyıcı belirteci, bu belirteci elinde bulunduran kişiye korumalı bir kaynağa erişim sağlayan hafif bir güvenlik belirtecidir.

Taşıyıcı, belirteci sunabilen herhangi bir taraftır. Azure AD B2C'nin taşıyıcı belirteç alabilmesi için önce bir tarafın kimliğini doğrulaması gerekir. Ancak, iletim ve depolama sırasında belirtecin güvenliğini sağlamak için gerekli adımlar atılmazsa, yetkisiz bir tarafça yakalanabilir ve kullanılabilir.

Bazı güvenlik belirteçleri, yetkisiz tarafların bunları kullanmasını engelleyen yerleşik mekanizmalara sahiptir, ancak taşıyıcı belirteçlerde bu mekanizma yoktur. Bunlar, aktarım katmanı güvenliği (HTTPS) gibi güvenli bir kanalda taşınmalıdır.

Taşıyıcı belirteç güvenli bir kanalın dışında iletilirse, kötü niyetli bir saldırgan, bir ortadaki adam saldırısı kullanarak belirteci ele geçirebilir ve bu belirteçle korumalı bir kaynağa izinsiz erişim sağlayabilir. Taşıyıcı belirteçler daha sonra kullanılmak üzere depolandığında veya önbelleğe alınırken aynı güvenlik ilkeleri geçerlidir. Uygulamanızın taşıyıcı belirteçleri güvenli bir şekilde ilettiğinden ve depoladığından emin olun.

Ek taşıyıcı belirteci güvenlik konuları için bkz. RFC 6750 Bölüm 5.

Azure AD B2C'de kullanılan farklı belirteç türleri hakkında daha fazla bilgiyi Azure AD B2C belirteç başvurusunda bulabilirsiniz.

Protokol

Bazı örnek istekleri gözden geçirmeye hazır olduğunuzda, aşağıdaki öğreticilerden biriyle başlayabilirsiniz. Her bir senaryo belirli bir kimlik doğrulama senaryosuna karşılık gelir. Hangi akışın size uygun olduğunu belirleme konusunda yardıma ihtiyacınız varsa Azure AD B2C kullanarak oluşturabileceğiniz uygulama türlerine göz atın.