Azure AD B2C: Kimlik doğrulama protokolleriAzure AD B2C: Authentication protocols

Azure Active Directory B2C (Azure AD B2C) sağlayan kimlik uygulamalarınız için hizmet olarak iki sektör standardı protokolleri destekleyerek: Openıd Connect ve OAuth 2.0.Azure Active Directory B2C (Azure AD B2C) provides identity as a service for your apps by supporting two industry standard protocols: OpenID Connect and OAuth 2.0. Hizmet standartlarıyla uyumlu olduğu halde bu protokolleri, iki belirtilmesinden küçük farklılıklar olabilir.The service is standards-compliant, but any two implementations of these protocols can have subtle differences.

Bu kılavuzdaki bilgilerini doğrudan göndererek ve HTTP isteklerini işlemek yerine bir açık kaynak kitaplığı kullanarak kod yazma yararlıdır.The information in this guide is useful if you write your code by directly sending and handling HTTP requests, rather than by using an open source library. Her özel Protokolü ayrıntılara girmeden önce bu sayfayı okumanızı öneririz.We recommend that you read this page before you dive into the details of each specific protocol. Ancak zaten Azure AD B2C ile biliyorsanız, doğrudan gidebilirsiniz Protokolü Başvuru Kılavuzu.But if you're already familiar with Azure AD B2C, you can go straight to the protocol reference guides.

Temel bilgilerThe basics

Azure AD B2C'yi kullanan her uygulamanın B2C dizininizde kaydedilmesi gerekiyor Azure portalında.Every app that uses Azure AD B2C needs to be registered in your B2C directory in the Azure portal. Uygulama kayıt işlemi birkaç değer toplayarak uygulamanıza atar:The app registration process collects and assigns a few values to your app:

  • Uygulamanızı benzersiz olarak tanımlayan bir Uygulama Kimliği.An Application ID that uniquely identifies your app.
  • A yeniden yönlendirme URI'si veya tanımlayıcısı paketini yanıtları uygulamanıza geri yönlendirmek için kullanılabilir.A Redirect URI or package identifier that can be used to direct responses back to your app.
  • Diğer birkaç senaryoya özel değerler.A few other scenario-specific values. Daha fazla bilgi için bilgi uygulamanızı kaydetmek nasıl.For more information, learn how to register your application.

Uygulamanızı kaydettikten sonra Azure Active Directory (Azure AD) ile uç noktaya istek göndererek iletişim kurar:After you register your app, it communicates with Azure Active Directory (Azure AD) by sending requests to the endpoint:

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

Neredeyse tüm OAuth ve Openıd Connect akışı içinde dört taraflar Exchange'de karmaşıktır:In nearly all OAuth and OpenID Connect flows, four parties are involved in the exchange:

Dört OAuth 2.0 rolleri gösteren diyagram

  • Yetkilendirme sunucusu Azure AD'ye uç noktadır.The authorization server is the Azure AD endpoint. Güvenli bir şekilde kullanıcı bilgilerini ve erişim ile ilgili herhangi bir şey işler.It securely handles anything related to user information and access. Ayrıca, bir akışta taraflar arasındaki güven ilişkilerinin işler.It also handles the trust relationships between the parties in a flow. Bu, kullanıcının kimliğini doğrulayan, verme ve kaynaklara erişimi iptal etme ve belirteç sorumludur.It is responsible for verifying the user's identity, granting and revoking access to resources, and issuing tokens. Kimlik sağlayıcısı olarak da bilinen olduğu.It is also known as the identity provider.

  • Kaynak sahibi genellikle son kullanıcısıdır.The resource owner is typically the end user. Verilerin sahibi taraftır ve üçüncü tarafların, veri veya kaynağa erişimi izni gücüne sahiptir.It is the party that owns the data, and it has the power to allow third parties to access that data or resource.

  • OAuth istemcisi uygulamanız.The OAuth client is your app. Bunun uygulama kimliği tarafından tanımlanırIt's identified by its Application ID. Genellikle, son kullanıcılar ile etkileşimde bulunan taraf olur.It's usually the party that end users interact with. Ayrıca belirteçleri yetkilendirme sunucusundan ister.It also requests tokens from the authorization server. Kaynak sahibi istemci kaynağa erişim izni vermeniz gerekir.The resource owner must grant the client permission to access the resource.

  • Kaynak sunucusu kaynağı veya veri bulunduğu olduğu.The resource server is where the resource or data resides. Bu, güvenli bir şekilde kimlik doğrulaması ve OAuth istemci yetki vermek için yetkilendirme sunucusu güvenir.It trusts the authorization server to securely authenticate and authorize the OAuth client. Ayrıca bir kaynağa erişim izni sağlamak için taşıyıcı erişim belirteçlerini kullanır.It also uses bearer access tokens to ensure that access to a resource can be granted.

İlkeleri ve kullanıcı akışlarıPolicies and user flows

Tartışmaya, Azure AD B2C ilkeleri hizmetinin en önemli özelliklerdir.Arguably, Azure AD B2C policies are the most important features of the service. Azure AD B2C ilkeleri sunarak standart OAuth 2.0 ve Openıd Connect protokollerini genişletir.Azure AD B2C extends the standard OAuth 2.0 and OpenID Connect protocols by introducing policies. Bunlar, daha fazlasını Basit kimlik doğrulaması ve yetkilendirmesi gerçekleştirmek için Azure AD B2C izin verir.These allow Azure AD B2C to perform much more than simple authentication and authorization.

Yardımcı olması için en yaygın kimlik görevleri ayarlayın, adlı önceden tanımlanmış, yapılandırılabilir ilkeleri Azure AD B2C portal içerir kullanıcı akışları.To help you set up the most common identity tasks, the Azure AD B2C portal includes predefined, configurable policies called user flows. Kullanıcı akışları tamamen kaydolma, oturum açma dahil olmak üzere, tüketici kimlik deneyimi açıklamak ve profil düzenleme.User flows fully describe consumer identity experiences, including sign-up, sign-in, and profile editing. Kullanıcı akışları, bir yönetici kullanıcı Arabiriminde tanımlanabilir.User flows can be defined in an administrative UI. HTTP kimlik doğrulaması isteklerini bir özel sorgu parametresi kullanarak gerçekleştirilebilir.They can be executed by using a special query parameter in HTTP authentication requests.

Bunları anlamak için zamanınız olması gerekir böylece ilkeleri ve kullanıcı akışları OAuth 2.0 ve Openıd Connect, standart özellikleri değildir.Policies and user flows are not standard features of OAuth 2.0 and OpenID Connect, so you should take the time to understand them. Daha fazla bilgi için Azure AD B2C kullanıcı akışı Başvuru Kılavuzu.For more information, see the Azure AD B2C user flow reference guide.

BelirteçlerTokens

OAuth 2.0 ve Openıd Connect Azure AD B2C uygulamasını taşıyıcı belirteçleri, JSON web belirteçleri (Jwt'ler) gösterilen taşıyıcı belirteçlerini dahil olmak üzere kapsamlı kullanımını sağlar.The Azure AD B2C implementation of OAuth 2.0 and OpenID Connect makes extensive use of bearer tokens, including bearer tokens that are represented as JSON web tokens (JWTs). Taşıyıcı belirteç korumalı bir kaynağın "bearer" erişim veren bir basit güvenlik belirtecidir.A bearer token is a lightweight security token that grants the "bearer" access to a protected resource.

Taşıyıcı belirteç sunabilir herhangi bir tarafa ' dir.The bearer is any party that can present the token. Taşıyıcı belirteç almak için önce azure AD ilk bir taraf kimlik doğrulaması gerekir.Azure AD must first authenticate a party before it can receive a bearer token. Ancak gerekli adımları iletilmesini ve depolanmasını belirteci güvenliğini sağlamak için alınır değil, kesildi ve olması istenmeyen bir şahıs tarafından kullanılır.But if the required steps are not taken to secure the token in transmission and storage, it can be intercepted and used by an unintended party.

Bazı güvenlik belirteçleri yetkisiz taraflar, onları kullanmasına engel olmak yerleşik mekanizmalar vardır, ancak taşıyıcı belirteçleri Bu mekanizma yoktur.Some security tokens have built-in mechanisms that prevent unauthorized parties from using them, but bearer tokens do not have this mechanism. Bunlar bir Aktarım Katmanı Güvenliği (HTTPS) gibi güvenli bir kanal taşınan gerekir.They must be transported in a secure channel, such as a transport layer security (HTTPS).

Taşıyıcı belirteç dışında güvenli bir kanal iletilirse, kötü amaçlı bir taraf belirteç almak ve korumalı kaynağa yetkisiz erişim elde etmek için kullanmak için bir adam-de-ortadaki adam saldırısı kullanabilirsiniz.If a bearer token is transmitted outside a secure channel, a malicious party can use a man-in-the-middle attack to acquire the token and use it to gain unauthorized access to a protected resource. Depolanan ya da daha sonra kullanmak üzere önbelleğe taşıyıcı belirteçleri, aynı güvenlik ilkeleri uygulayın.The same security principles apply when bearer tokens are stored or cached for later use. Uygulamanızı iletir ve güvenli bir şekilde taşıyıcı belirteçleri depolar her zaman emin olmalısınız.Always ensure that your app transmits and stores bearer tokens in a secure manner.

Ek taşıyıcı belirteci güvenlik konuları için bkz. RFC 6750 bölüm 5.For additional bearer token security considerations, see RFC 6750 Section 5.

Farklı Azure AD B2C'de kullanılan belirteç türleri hakkında daha fazla bilgi edinilebilir Azure AD belirteç başvurusu.More information about the different types of tokens that are used in Azure AD B2C are available in the Azure AD token reference.

ProtokollerProtocols

Bazı örnek isteklerini gözden geçirme hazır olduğunuzda, aşağıdaki öğreticilerden birine ile başlayabilirsiniz.When you're ready to review some example requests, you can start with one of the following tutorials. Her bir belirli kimlik doğrulama senaryosu için karşılık gelir.Each corresponds to a particular authentication scenario. Hangi akış size uygun olduğunu belirleyen yardıma ihtiyacınız olursa kullanıma uygulamaları Azure AD B2C'yi kullanarak oluşturabilirsiniz türlerini.If you need help determining which flow is right for you, check out the types of apps you can build by using Azure AD B2C.