OAuth 2,0 Authorization Code Flow i Azure Active Directory B2COAuth 2.0 authorization code flow in Azure Active Directory B2C

Du kan använda OAuth 2,0-auktoriseringskod i appar som är installerade på en enhet för att få åtkomst till skyddade resurser, till exempel webb-API: er.You can use the OAuth 2.0 authorization code grant in apps installed on a device to gain access to protected resources, such as web APIs. Genom att använda Azure Active Directory B2C-implementeringen (Azure AD B2C) av OAuth 2,0 kan du lägga till registrering, inloggning och andra identitets hanterings uppgifter i dina mobila och Station ära appar.By using the Azure Active Directory B2C (Azure AD B2C) implementation of OAuth 2.0, you can add sign-up, sign-in, and other identity management tasks to your mobile and desktop apps. Den här artikeln är språk oberoende.This article is language-independent. I artikeln beskriver vi hur du skickar och tar emot HTTP-meddelanden utan att använda bibliotek med öppen källkod.In the article, we describe how to send and receive HTTP messages without using any open-source libraries.

OAuth 2,0 Authorization Code Flow beskrivs i avsnittet 4,1 i oauth 2,0-specifikationen.The OAuth 2.0 authorization code flow is described in section 4.1 of the OAuth 2.0 specification. Du kan använda den för autentisering och auktorisering i de flesta program typer, inklusive webb program och internt installerade program.You can use it for authentication and authorization in most application types, including web applications and natively installed applications. Du kan använda OAuth 2,0-auktoriseringskod för att på ett säkert sätt Hämta åtkomsttoken och uppdatera tokens för dina program, som kan användas för att få åtkomst till resurser som skyddas av en Authorization Server.You can use the OAuth 2.0 authorization code flow to securely acquire access tokens and refresh tokens for your applications, which can be used to access resources that are secured by an authorization server. Med uppdateringstoken kan klienten erhålla nya åtkomst-och uppdaterings-token när åtkomsttoken upphör att gälla, vanligt vis efter en timme.The refresh token allows the client to acquire new access (and refresh) tokens once the access token expires, typically after one hour.

Den här artikeln fokuserar på de offentliga klienterna OAuth 2,0 Authorization Code Flow.This article focuses on the public clients OAuth 2.0 authorization code flow. En offentlig klient är ett klient program som inte är betrott att säkert upprätthålla integriteten för ett hemligt lösen ord.A public client is any client application that cannot be trusted to securely maintain the integrity of a secret password. Detta inkluderar mobilappar, skriv bords program och i stort sett alla program som körs på en enhet och som behöver hämta åtkomsttoken.This includes mobile apps, desktop applications, and essentially any application that runs on a device and needs to get access tokens.

Anteckning

Om du vill lägga till identitets hantering i en webbapp med hjälp av Azure AD B2C använder du OpenID Connect i stället för OAuth 2,0.To add identity management to a web app by using Azure AD B2C, use OpenID Connect instead of OAuth 2.0.

Azure AD B2C utökar standard OAuth 2,0-flöden för att göra mer än enkel autentisering och auktorisering.Azure AD B2C extends the standard OAuth 2.0 flows to do more than simple authentication and authorization. Det introducerar användar flödet.It introduces the user flow. Med användar flöden kan du använda OAuth 2,0 för att lägga till användar upplevelser till ditt program, till exempel registrering, inloggning och profil hantering.With user flows, you can use OAuth 2.0 to add user experiences to your application, such as sign-up, sign-in, and profile management. Identitets leverantörer som använder OAuth 2,0-protokollet är Amazon, Azure Active Directory, Facebook, GitHub, Googleoch LinkedIn.Identity providers that use the OAuth 2.0 protocol include Amazon, Azure Active Directory, Facebook, GitHub, Google, and LinkedIn.

För att testa HTTP-begärandena i den här artikeln:To try the HTTP requests in this article:

  1. Ersätt {tenant} med namnet på din Azure AD B2C-klient.Replace {tenant} with the name of your Azure AD B2C tenant.
  2. Ersätt 90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 med app-ID: t för ett program som du tidigare har registrerat i Azure AD B2C klient organisationen.Replace 90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 with the app ID of an application you've previously registered in your Azure AD B2C tenant.
  3. Ersätt {policy} med namnet på en princip som du har skapat i din klient, till exempel b2c_1_sign_in.Replace {policy} with the name of a policy you've created in your tenant, for example b2c_1_sign_in.

1. Hämta en auktoriseringskod1. Get an authorization code

Kod flödet för auktorisering börjar med klienten som dirigerar användaren till /authorize slut punkten.The authorization code flow begins with the client directing the user to the /authorize endpoint. Det här är den interaktiva delen av flödet, där användaren vidtar åtgärder.This is the interactive part of the flow, where the user takes action. I den här förfrågan anger klienten i scope parametern de behörigheter som krävs för att hämta från användaren.In this request, the client indicates in the scope parameter the permissions that it needs to acquire from the user. Följande tre exempel (med rad brytningar för läsbarhet) var och en använder ett annat användar flöde.The following three examples (with line breaks for readability) each use a different user flow.

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?
client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
&response_type=code
&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob
&response_mode=query
&scope=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6%20offline_access
&state=arbitrary_data_you_can_receive_in_the_response
ParameterParameter Krävs?Required? BeskrivningDescription
innehav{tenant} KrävsRequired Namnet på din Azure AD B2C-klientName of your Azure AD B2C tenant
politik{policy} KrävsRequired Det användar flöde som ska köras.The user flow to be run. Ange namnet på ett användar flöde som du har skapat i Azure AD B2C klient organisationen.Specify the name of a user flow you've created in your Azure AD B2C tenant. Till exempel: b2c_1_sign_in, b2c_1_sign_upeller b2c_1_edit_profile.For example: b2c_1_sign_in, b2c_1_sign_up, or b2c_1_edit_profile.
client_idclient_id KrävsRequired Det program-ID som har tilldelats din app i Azure Portal.The application ID assigned to your app in the Azure portal.
response_typeresponse_type KrävsRequired Svars typen, som måste innehålla code för flödets auktoriseringskod.The response type, which must include code for the authorization code flow.
redirect_uriredirect_uri KrävsRequired Omdirigerings-URI för appen, där autentiseringsbegäranden skickas och tas emot av din app.The redirect URI of your app, where authentication responses are sent and received by your app. Det måste exakt matcha en av de omdirigerings-URI: er som du har registrerat i portalen, förutom att den måste vara URL-kodad.It must exactly match one of the redirect URIs that you registered in the portal, except that it must be URL-encoded.
omfångscope KrävsRequired En blankstegsavgränsad lista över omfång.A space-separated list of scopes. Ett enda omfattnings värde indikerar att Azure Active Directory (Azure AD) båda de behörigheter som begärs.A single scope value indicates to Azure Active Directory (Azure AD) both of the permissions that are being requested. Med hjälp av klient-ID som omfånget anger att din app behöver en åtkomsttoken som kan användas för din egen tjänst eller ditt webb-API som representeras av samma klient-ID.Using the client ID as the scope indicates that your app needs an access token that can be used against your own service or web API, represented by the same client ID. offline_access omfånget indikerar att appen behöver en uppdateringstoken för långvarig åtkomst till resurser.The offline_access scope indicates that your app needs a refresh token for long-lived access to resources. Du kan också använda openid omfång för att begära en ID-token från Azure AD B2C.You also can use the openid scope to request an ID token from Azure AD B2C.
response_moderesponse_mode RekommenderadRecommended Den metod som du använder för att skicka den resulterande auktoriseringskod tillbaka till din app.The method that you use to send the resulting authorization code back to your app. Det kan vara query, form_posteller fragment.It can be query, form_post, or fragment.
statestate RekommenderadRecommended Ett värde som ingår i begäran som kan vara en sträng med innehåll som du vill använda.A value included in the request that can be a string of any content that you want to use. Normalt används ett slumpmässigt genererat unikt värde för att förhindra förfalsknings attacker på begäran från en webbplats.Usually, a randomly generated unique value is used, to prevent cross-site request forgery attacks. Det här läget används också för att koda information om användarens tillstånd i appen innan autentiseringsbegäran inträffat.The state also is used to encode information about the user's state in the app before the authentication request occurred. Till exempel sidan användaren var på eller det användar flöde som kördes.For example, the page the user was on, or the user flow that was being executed.
visasprompt ValfrittOptional Typ av användar interaktion som krävs.The type of user interaction that is required. För närvarande är det enda giltiga värdet login, vilket tvingar användaren att ange sina autentiseringsuppgifter för begäran.Currently, the only valid value is login, which forces the user to enter their credentials on that request. Enkel inloggning träder inte i kraft.Single sign-on will not take effect.

Nu uppmanas användaren att slutföra användar flödets arbets flöde.At this point, the user is asked to complete the user flow's workflow. Detta kan innebära att användaren anger sitt användar namn och lösen ord, loggar in med en social identitet, registrerar sig för katalogen eller något annat antal steg.This might involve the user entering their username and password, signing in with a social identity, signing up for the directory, or any other number of steps. Användar åtgärder är beroende av hur användar flödet definieras.User actions depend on how the user flow is defined.

När användaren har slutfört användar flödet returnerar Azure AD ett svar till din app med det värde som du använde för redirect_uri.After the user completes the user flow, Azure AD returns a response to your app at the value you used for redirect_uri. Den metod som anges i parametern response_mode används.It uses the method specified in the response_mode parameter. Svaret är exakt detsamma för var och en av användar åtgärds scenarierna, oberoende av det användar flöde som kördes.The response is exactly the same for each of the user action scenarios, independent of the user flow that was executed.

Ett lyckat svar som använder response_mode=query ser ut så här:A successful response that uses response_mode=query looks like this:

GET urn:ietf:wg:oauth:2.0:oob?
code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...        // the authorization_code, truncated
&state=arbitrary_data_you_can_receive_in_the_response                // the value provided in the request
ParameterParameter BeskrivningDescription
codecode Den auktoriseringskod som appen begärde.The authorization code that the app requested. Appen kan använda auktoriseringskod för att begära en åtkomsttoken för en mål resurs.The app can use the authorization code to request an access token for a target resource. Auktoriseringsregler är mycket kort.Authorization codes are very short-lived. Normalt går de ut efter cirka 10 minuter.Typically, they expire after about 10 minutes.
statestate Se den fullständiga beskrivningen i tabellen i föregående avsnitt.See the full description in the table in the preceding section. Om en state-parameter ingår i begäran ska samma värde visas i svaret.If a state parameter is included in the request, the same value should appear in the response. Appen bör verifiera att state värden i begäran och svaret är identiska.The app should verify that the state values in the request and response are identical.

Fel svar kan också skickas till omdirigerings-URI: n så att appen kan hantera dem på rätt sätt:Error responses also can be sent to the redirect URI so that the app can handle them appropriately:

GET urn:ietf:wg:oauth:2.0:oob?
error=access_denied
&error_description=The+user+has+cancelled+entering+self-asserted+information
&state=arbitrary_data_you_can_receive_in_the_response
ParameterParameter BeskrivningDescription
felerror En fel kods sträng som du kan använda för att klassificera de typer av fel som inträffar.An error code string that you can use to classify the types of errors that occur. Du kan också använda strängen för att reagera på fel.You also can use the string to react to errors.
error_descriptionerror_description Ett fel meddelande som kan hjälpa dig att identifiera rotor saken till ett autentiseringsfel.A specific error message that can help you identify the root cause of an authentication error.
statestate Se den fullständiga beskrivningen i föregående tabell.See the full description in the preceding table. Om en state-parameter ingår i begäran ska samma värde visas i svaret.If a state parameter is included in the request, the same value should appear in the response. Appen bör verifiera att state värden i begäran och svaret är identiska.The app should verify that the state values in the request and response are identical.

2. Hämta en token2. Get a token

Nu när du har skaffat en auktoriseringskod kan du lösa in code för en token till den avsedda resursen genom att skicka en POST-begäran till /token-slutpunkten.Now that you've acquired an authorization code, you can redeem the code for a token to the intended resource by sending a POST request to the /token endpoint. I Azure AD B2C kan du begära åtkomsttoken för andra API: er som vanligt genom att ange deras omfång i begäran.In Azure AD B2C, you can request access tokens for other API's as usual by specifying their scope(s) in the request.

Du kan också begära en åtkomsttoken för appens egna Server dels webb-API genom att använda appens klient-ID som begärda omfång (vilket leder till en åtkomsttoken med klient-ID: t som mål grupp):You can also request an access token for your app's own back-end Web API by convention of using the app's client ID as the requested scope (which will result in an access token with that client ID as the "audience"):

POST https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token HTTP/1.1

Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6&scope=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 offline_access&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...&redirect_uri=urn:ietf:wg:oauth:2.0:oob

ParameterParameter Krävs?Required? BeskrivningDescription
innehav{tenant} KrävsRequired Namnet på din Azure AD B2C-klientName of your Azure AD B2C tenant
politik{policy} KrävsRequired Det användar flöde som användes för att hämta auktoriseringskod.The user flow that was used to acquire the authorization code. Du kan inte använda ett annat användar flöde i denna begäran.You cannot use a different user flow in this request.
client_idclient_id KrävsRequired Det program-ID som har tilldelats din app i Azure Portal.The application ID assigned to your app in the Azure portal.
client_secretclient_secret Ja, i Web AppsYes, in Web Apps Den program hemlighet som genererades i Azure Portal.The application secret that was generated in the Azure portal. Klient hemligheter används i det här flödet för scenarier med webb program, där klienten kan lagra en klient hemlighet på ett säkert sätt.Client secrets are used in this flow for Web App scenarios, where the client can securely store a client secret. För interna app-scenarier (offentliga klienter) kan inte klient hemligheter lagras på ett säkert sätt och används därför inte i det här anropet.For Native App (public client) scenarios, client secrets cannot be securely stored, and therefore are not used in this call. Om du använder en klient hemlighet måste du ändra den regelbundet.If you use a client secret, please change it on a periodic basis.
grant_typegrant_type KrävsRequired Typ av beviljande.The type of grant. För Authorization Code Flow måste tilldelnings typen authorization_code.For the authorization code flow, the grant type must be authorization_code.
omfångscope RekommenderadRecommended En blankstegsavgränsad lista över omfång.A space-separated list of scopes. Ett enda omfattnings värde indikerar Azure AD båda de behörigheter som begärs.A single scope value indicates to Azure AD both of the permissions that are being requested. Med hjälp av klient-ID som omfånget anger att din app behöver en åtkomsttoken som kan användas för din egen tjänst eller ditt webb-API som representeras av samma klient-ID.Using the client ID as the scope indicates that your app needs an access token that can be used against your own service or web API, represented by the same client ID. offline_access omfånget indikerar att appen behöver en uppdateringstoken för långvarig åtkomst till resurser.The offline_access scope indicates that your app needs a refresh token for long-lived access to resources. Du kan också använda openid omfång för att begära en ID-token från Azure AD B2C.You also can use the openid scope to request an ID token from Azure AD B2C.
codecode KrävsRequired Den auktoriseringskod som du förvärvade i den första delen av flödet.The authorization code that you acquired in the first leg of the flow.
redirect_uriredirect_uri KrävsRequired Omdirigerings-URI för programmet där du fick auktoriseringskod.The redirect URI of the application where you received the authorization code.

Ett lyckat token-svar ser ut så här:A successful token response looks like this:

{
    "not_before": "1442340812",
    "token_type": "Bearer",
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
    "scope": "90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 offline_access",
    "expires_in": "3600",
    "refresh_token": "AAQfQmvuDy8WtUv-sd0TBwWVQs1rC-Lfxa_NDkLqpg50Cxp5Dxj0VPF1mx2Z...",
}
ParameterParameter BeskrivningDescription
not_beforenot_before Tiden då token anses vara giltig, i epok tid.The time at which the token is considered valid, in epoch time.
token_typetoken_type Värdet för token-typ.The token type value. Den enda typ som Azure AD stöder är Bearer.The only type that Azure AD supports is Bearer.
access_tokenaccess_token Den signerade JSON Web Token (JWT) som du har begärt.The signed JSON Web Token (JWT) that you requested.
omfångscope De omfattningar som token är giltigt för.The scopes that the token is valid for. Du kan också använda omfattningar för att cachelagra token för senare användning.You also can use scopes to cache tokens for later use.
expires_inexpires_in Den tids längd som token är giltig (i sekunder).The length of time that the token is valid (in seconds).
refresh_tokenrefresh_token En OAuth 2,0-uppdateringstoken.An OAuth 2.0 refresh token. Appen kan använda denna token för att hämta ytterligare token när aktuell token upphör att gälla.The app can use this token to acquire additional tokens after the current token expires. Uppdateringstoken är lång.Refresh tokens are long-lived. Du kan använda dem för att behålla åtkomst till resurser under långa tids perioder.You can use them to retain access to resources for extended periods of time. Mer information finns i referens för Azure AD B2C-token.For more information, see the Azure AD B2C token reference.

Fel svar ser ut så här:Error responses look like this:

{
    "error": "access_denied",
    "error_description": "The user revoked access to the app.",
}
ParameterParameter BeskrivningDescription
felerror En fel kods sträng som du kan använda för att klassificera de typer av fel som inträffar.An error code string that you can use to classify the types of errors that occur. Du kan också använda strängen för att reagera på fel.You also can use the string to react to errors.
error_descriptionerror_description Ett fel meddelande som kan hjälpa dig att identifiera rotor saken till ett autentiseringsfel.A specific error message that can help you identify the root cause of an authentication error.

3. Använd token3. Use the token

Nu när du har skaffat en åtkomsttoken kan du använda token i begär anden till dina Server dels webb-API: er genom att inkludera den i Authorization rubriken:Now that you've successfully acquired an access token, you can use the token in requests to your back-end web APIs by including it in the Authorization header:

GET /tasks
Host: mytaskwebapi.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...

4. uppdatera token4. Refresh the token

Åtkomsttoken och ID-token är korta.Access tokens and ID tokens are short-lived. När de har gått ut måste du uppdatera dem för att fortsätta att få åtkomst till resurser.After they expire, you must refresh them to continue to access resources. Det gör du genom att skicka en ny POST-begäran till /token slut punkten.To do this, submit another POST request to the /token endpoint. Nu anger du refresh_token i stället för code:This time, provide the refresh_token instead of the code:

POST https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token HTTP/1.1

Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token&client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6&scope=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 offline_access&refresh_token=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...&redirect_uri=urn:ietf:wg:oauth:2.0:oob
ParameterParameter Krävs?Required? BeskrivningDescription
innehav{tenant} KrävsRequired Namnet på din Azure AD B2C-klientName of your Azure AD B2C tenant
politik{policy} KrävsRequired Det användar flöde som användes för att hämta den ursprungliga uppdateringstoken.The user flow that was used to acquire the original refresh token. Du kan inte använda ett annat användar flöde i denna begäran.You cannot use a different user flow in this request.
client_idclient_id KrävsRequired Det program-ID som har tilldelats din app i Azure Portal.The application ID assigned to your app in the Azure portal.
client_secretclient_secret Ja, i Web AppsYes, in Web Apps Den program hemlighet som genererades i Azure Portal.The application secret that was generated in the Azure portal. Klient hemligheter används i det här flödet för scenarier med webb program, där klienten kan lagra en klient hemlighet på ett säkert sätt.Client secrets are used in this flow for Web App scenarios, where the client can securely store a client secret. För interna app-scenarier (offentliga klienter) kan inte klient hemligheter lagras på ett säkert sätt och används därför inte i det här anropet.For Native App (public client) scenarios, client secrets cannot be securely stored, and therefore are not used in this call. Om du använder en klient hemlighet måste du ändra den regelbundet.If you use a client secret, please change it on a periodic basis.
grant_typegrant_type KrävsRequired Typ av beviljande.The type of grant. För den här delen av koden för auktoriseringskod måste tilldelnings typen refresh_token.For this leg of the authorization code flow, the grant type must be refresh_token.
omfångscope RekommenderadRecommended En blankstegsavgränsad lista över omfång.A space-separated list of scopes. Ett enda omfattnings värde indikerar Azure AD båda de behörigheter som begärs.A single scope value indicates to Azure AD both of the permissions that are being requested. Med hjälp av klient-ID som omfånget anger att din app behöver en åtkomsttoken som kan användas för din egen tjänst eller ditt webb-API som representeras av samma klient-ID.Using the client ID as the scope indicates that your app needs an access token that can be used against your own service or web API, represented by the same client ID. offline_access omfånget indikerar att appen behöver en uppdateringstoken för långvarig åtkomst till resurser.The offline_access scope indicates that your app will need a refresh token for long-lived access to resources. Du kan också använda openid omfång för att begära en ID-token från Azure AD B2C.You also can use the openid scope to request an ID token from Azure AD B2C.
redirect_uriredirect_uri ValfrittOptional Omdirigerings-URI för programmet där du fick auktoriseringskod.The redirect URI of the application where you received the authorization code.
refresh_tokenrefresh_token KrävsRequired Den ursprungliga uppdateringstoken som du förvärvade i den andra delen av flödet.The original refresh token that you acquired in the second leg of the flow.

Ett lyckat token-svar ser ut så här:A successful token response looks like this:

{
    "not_before": "1442340812",
    "token_type": "Bearer",
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
    "scope": "90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 offline_access",
    "expires_in": "3600",
    "refresh_token": "AAQfQmvuDy8WtUv-sd0TBwWVQs1rC-Lfxa_NDkLqpg50Cxp5Dxj0VPF1mx2Z...",
}
ParameterParameter BeskrivningDescription
not_beforenot_before Tiden då token anses vara giltig, i epok tid.The time at which the token is considered valid, in epoch time.
token_typetoken_type Värdet för token-typ.The token type value. Den enda typ som Azure AD stöder är Bearer.The only type that Azure AD supports is Bearer.
access_tokenaccess_token Det signerade JWT som du begärde.The signed JWT that you requested.
omfångscope De omfattningar som token är giltigt för.The scopes that the token is valid for. Du kan också använda omfattningarna för att cachelagra tokens för senare användning.You also can use the scopes to cache tokens for later use.
expires_inexpires_in Den tids längd som token är giltig (i sekunder).The length of time that the token is valid (in seconds).
refresh_tokenrefresh_token En OAuth 2,0-uppdateringstoken.An OAuth 2.0 refresh token. Appen kan använda denna token för att hämta ytterligare token när aktuell token upphör att gälla.The app can use this token to acquire additional tokens after the current token expires. Uppdaterade token är långvariga och kan användas för att bevara åtkomsten till resurser under längre tids perioder.Refresh tokens are long-lived, and can be used to retain access to resources for extended periods of time. Mer information finns i referens för Azure AD B2C-token.For more information, see the Azure AD B2C token reference.

Fel svar ser ut så här:Error responses look like this:

{
    "error": "access_denied",
    "error_description": "The user revoked access to the app.",
}
ParameterParameter BeskrivningDescription
felerror En fel kods sträng som du kan använda för att klassificera typer av fel som inträffar.An error code string that you can use to classify types of errors that occur. Du kan också använda strängen för att reagera på fel.You also can use the string to react to errors.
error_descriptionerror_description Ett fel meddelande som kan hjälpa dig att identifiera rotor saken till ett autentiseringsfel.A specific error message that can help you identify the root cause of an authentication error.

Använda din egen Azure AD B2C katalogUse your own Azure AD B2C directory

Utför följande steg för att testa dessa begär Anden själv.To try these requests yourself, complete the following steps. Ersätt de exempel värden som vi använde i den här artikeln med dina egna värden.Replace the example values we used in this article with your own values.

  1. Skapa en Azure AD B2C katalog.Create an Azure AD B2C directory. Använd namnet på din katalog i begär Anden.Use the name of your directory in the requests.
  2. Skapa ett program för att hämta ett program-ID och en omdirigerings-URI.Create an application to obtain an application ID and a redirect URI. Inkludera en intern klient i din app.Include a native client in your app.
  3. Skapa dina användar flöden för att hämta dina användar flödes namn.Create your user flows to obtain your user flow names.