Azure AD B2C: AutentiseringsprotokollAzure AD B2C: Authentication protocols

Azure Active Directory B2C (Azure AD B2C) erbjuder identitet som en tjänst för dina appar genom att stödja två protokoll av branschstandardtyp: OpenID Connect och 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. Tjänsten är standardkompatibla, men alla två implementeringen av dessa protokoll kan ha vissa skillnader.The service is standards-compliant, but any two implementations of these protocols can have subtle differences.

Informationen i den här guiden är användbart om du skriver koden genom att skicka direkt och hantering av HTTP-begäranden, i stället för ett bibliotek med öppen källkod.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. Vi rekommenderar att du läser den här sidan innan du fördjupar dig i detaljerna för varje specifik protokoll.We recommend that you read this page before you dive into the details of each specific protocol. Men om du redan är bekant med Azure AD B2C kan du gå direkt till referenshandböcker protokollet.But if you're already familiar with Azure AD B2C, you can go straight to the protocol reference guides.

GrundernaThe basics

Alla appar som använder Azure AD B2C måste registreras i din B2C-katalog i den Azure-portalen.Every app that uses Azure AD B2C needs to be registered in your B2C directory in the Azure portal. Registreringsprocessen samlar in och tilldelar några värden till din app:The app registration process collects and assigns a few values to your app:

  • Ett program-ID som identifierar din app unikt.An Application ID that uniquely identifies your app.
  • En omdirigerings-URI eller paketera identifierare som kan användas för att dirigera svar tillbaka till din app.A Redirect URI or package identifier that can be used to direct responses back to your app.
  • Några andra scenariespecifika-värden.A few other scenario-specific values. Mer information lär du dig registrera ditt program.For more information, learn how to register your application.

När du har registrerat din app, kommunicerar den med Azure Active Directory (Azure AD) för genom att skicka förfrågningar till slutpunkten: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

Nästan alla flöden som OAuth och OpenID Connect är fyra parter involverade i exchange:In nearly all OAuth and OpenID Connect flows, four parties are involved in the exchange:

Diagram som visar de fyra OAuth 2.0-roller

  • Den auktoriseringsservern är Azure AD-slutpunkten.The authorization server is the Azure AD endpoint. Den hanterar på ett säkert sätt att något som är kopplat till användarinformation och åtkomst.It securely handles anything related to user information and access. Den hanterar också förtroenderelationer mellan parterna i ett flöde.It also handles the trust relationships between the parties in a flow. Det är ansvarig för att verifiera användarens identitet, bevilja och återkalla åtkomst till resurser och utfärda token.It is responsible for verifying the user's identity, granting and revoking access to resources, and issuing tokens. Det kallas även för identitetsprovidern.It is also known as the identity provider.

  • Den resursägaren är vanligtvis användaren.The resource owner is typically the end user. Det är den part som äger data och den har rätt att tillåta tredje part att få åtkomst till den data- eller resursen.It is the party that owns the data, and it has the power to allow third parties to access that data or resource.

  • Den OAuth klienten använder din app.The OAuth client is your app. Det har identifierats av dess program-ID.It's identified by its Application ID. Det är vanligtvis den part som slutanvändarna interagera med.It's usually the party that end users interact with. Det kan också begär token från auktoriseringsservern.It also requests tokens from the authorization server. Resursägaren måste ge klienten behörighet till resursen.The resource owner must grant the client permission to access the resource.

  • Den resursservern är där resursen eller data finns.The resource server is where the resource or data resides. Litar auktoriseringsservern för att autentisera och auktorisera OAuth-klienten på ett säkert sätt.It trusts the authorization server to securely authenticate and authorize the OAuth client. Ägar-åtkomsttoken används också att se till att du kan få åtkomst till en resurs.It also uses bearer access tokens to ensure that access to a resource can be granted.

Principer och användaren flödenPolicies and user flows

Azure AD B2C-principer är utan tvekan, de viktigaste funktionerna i tjänsten.Arguably, Azure AD B2C policies are the most important features of the service. Azure AD B2C utökar OAuth 2.0 och OpenID Connect standardprotokoll genom att introducera principer.Azure AD B2C extends the standard OAuth 2.0 and OpenID Connect protocols by introducing policies. De här alternativen kan Azure AD B2C att utföra mycket mer än enkel autentisering och auktorisering.These allow Azure AD B2C to perform much more than simple authentication and authorization.

Som hjälper dig att konfigurera de vanligaste uppgifterna för identitet, Azure AD B2C-portalen innehåller fördefinierade, konfigureras principer som kallas användarflöden.To help you set up the most common identity tasks, the Azure AD B2C portal includes predefined, configurable policies called user flows. Användarflöden helt beskriver kundupplevelser för identitet, inklusive registrering, inloggning, och profilera redigering.User flows fully describe consumer identity experiences, including sign-up, sign-in, and profile editing. Användarflöden kan definieras i en administrativa Gränssnittet.User flows can be defined in an administrative UI. De kan köras med hjälp av en särskild frågeparameter i HTTP-begäranden om autentisering.They can be executed by using a special query parameter in HTTP authentication requests.

Principer och användarflöden är inte standardfunktioner för OAuth 2.0 och OpenID Connect, så du bör ta dig tid att förstå hur de.Policies and user flows are not standard features of OAuth 2.0 and OpenID Connect, so you should take the time to understand them. Mer information finns i den referensguiden för Azure AD B2C användaren flow.For more information, see the Azure AD B2C user flow reference guide.

TokenTokens

Azure AD B2C-implementeringen av OAuth 2.0 och OpenID Connect gör omfattande användning av ägar-token, inklusive ägar-token som representeras som JSON web token (JWTs).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). En ägartoken är en förenklad säkerhetstoken som ger ”ägar” åtkomst till en skyddad resurs.A bearer token is a lightweight security token that grants the "bearer" access to a protected resource.

Innehavaren är en part som kan utgöra en token.The bearer is any party that can present the token. Azure AD måste först autentisera en part innan det kan ta emot en ägartoken.Azure AD must first authenticate a party before it can receive a bearer token. Men om steg som krävs inte vidtas för att skydda token i överföring och lagring, den kan fångas upp och används av en oavsiktlig part.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.

Vissa säkerhetstoken har inbyggda mekanismer som förhindrar att obehöriga personer som använder dem, men ägar-token har inte den här mekanismen.Some security tokens have built-in mechanisms that prevent unauthorized parties from using them, but bearer tokens do not have this mechanism. De måste transporteras i en säker kanal, till exempel en transport layer security (HTTPS).They must be transported in a secure channel, such as a transport layer security (HTTPS).

Om en ägartoken överförs utanför en säker kanal, kan en obehörig part använda en man-in-the-middle-attack för att hämta token och använda den för att få obehörig åtkomst till en skyddad resurs.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. Samma säkerhetsprinciper gäller när ägar-token lagras eller cachen för senare användning.The same security principles apply when bearer tokens are stored or cached for later use. Se alltid till att appen överför och lagrar ägar-token på ett säkert sätt.Always ensure that your app transmits and stores bearer tokens in a secure manner.

Ytterligare ägar-token-säkerhetsaspekter finns RFC 6750 avsnitt 5.For additional bearer token security considerations, see RFC 6750 Section 5.

Mer information om olika typer av token som används i Azure AD B2C finns i tokenreferens för Azure AD.More information about the different types of tokens that are used in Azure AD B2C are available in the Azure AD token reference.

ProtokollProtocols

När du är redo att gå igenom några exempel begäranden, kan du börja med någon av följande självstudier.When you're ready to review some example requests, you can start with one of the following tutorials. Var motsvarar ett visst autentiseringsscenario.Each corresponds to a particular authentication scenario. Om du behöver hjälp med att fastställa vilka flödet som passar dig kan du kolla typer av appar som du kan skapa med hjälp av Azure AD B2C.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.