Compartir vía


Definición de un perfil técnico de OAuth2 en una directiva personalizada en Azure Active Directory B2C

Nota:

En Azure Active Directory B2C, las directivas personalizadas se han diseñado principalmente para abordar escenarios complejos. Para la mayoría de los escenarios, se recomienda usar flujos de usuario integrados. Si no lo ha hecho, obtenga información sobre el paquete de inicio de directivas personalizadas en Introducción a las directivas personalizadas en Active Directory B2C.

Azure Active Directory B2C (Azure AD B2C) proporciona compatibilidad con el proveedor de identidades del protocolo OAuth2. OAuth2 es el protocolo principal para la autorización y la autenticación delegada. Para obtener más información, consulte el artículo RFC 6749 The OAuth 2.0 Authorization Framework (RFC 6749 Plataforma de autorización de OAuth 2.0). Con un perfil técnico de OAuth2, puede realizar la federación con un proveedor de identidades basado en OAuth2, como Facebook. Esta federación permite a los usuarios iniciar sesión con sus identidades de redes sociales o de empresa existentes.

Protocolo

El atributo Name del elemento Protocol tiene que establecerse en OAuth2. Por ejemplo, el protocolo para el perfil técnico Facebook-OAUTH es OAuth2:

<TechnicalProfile Id="Facebook-OAUTH">
  <DisplayName>Facebook</DisplayName>
  <Protocol Name="OAuth2" />
  ...

Notificaciones de entrada

Los elementos InputClaims y InputClaimsTransformations no son necesarios. Pero puede que quiera enviar más parámetros al proveedor de identidades. En el ejemplo siguiente se agrega el parámetro de cadena de consulta domain_hint con el valor de contoso.com a la solicitud de autorización.

<InputClaims>
  <InputClaim ClaimTypeReferenceId="domain_hint" DefaultValue="contoso.com" />
</InputClaims>

Notificaciones de salida

El elemento OutputClaims contiene una lista de notificaciones devueltas por el proveedor de identidades de OAuth2. Puede que tenga que asignar el nombre de la notificación definida en la directiva al nombre definido en el proveedor de identidades. También puede incluir notificaciones no especificadas por el proveedor de identidades, siempre que establezca el atributo DefaultValue.

El elemento OutputClaimsTransformations puede contener una colección de elementos OutputClaimsTransformation que se usan para modificar las notificaciones de salida o para generar nuevas.

El ejemplo siguiente muestra las notificaciones devueltas por el proveedor de identidades de Facebook:

  • La notificación first_name se asigna a la notificación givenName.
  • La notificación last_name se asigna a la notificación surname.
  • La notificación displayName sin asignación de nombre.
  • La notificación email sin asignación de nombre.

El perfil técnico también muestra la notificaciones no proporcionadas por el proveedor de identidades:

  • La notificación identityProvider que contiene el nombre del proveedor de identidades.
  • La notificación authenticationSource con un valor predeterminado de socialIdpAuthentication.
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="id" />
  <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="first_name" />
  <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="last_name" />
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
  <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
  <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="facebook.com" />
  <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
</OutputClaims>

Metadatos del punto de conexión de autorización

El flujo de autorización comienza cuando Azure AD B2C dirige al usuario al punto de conexión /authorize del proveedor de identidades de OAuth2. La llamada al punto de conexión de autorización es la parte interactiva del flujo, donde el usuario realiza la acción. En este momento, se pide al usuario que complete el inicio de sesión en el proveedor de identidades de OAuth2. Por ejemplo, especificando su nombre de usuario y contraseña.

Azure AD B2C crea una solicitud de autorización proporcionando el identificador de cliente, los ámbitos, el identificador URI de redirección y otros parámetros que necesita para adquirir un token de acceso del proveedor de identidades. En esta sección, se describen los metadatos del punto de conexión de autorización, que permiten configurar la solicitud al punto de conexión /authorize del proveedor de identidades.

La solicitud al punto de conexión de autorización siempre es HTTP GET. En el ejemplo siguiente, se muestra una llamada al punto de conexión de autorización.

GET https://login.contoso.com/oauth/v2/authorization?
client_id=12345
&response_type=code
&response_mode=query
&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob
&scope=profile%20offline_access
&redirect_uri=https%3a%2f%2fabrikam.b2clogin.com%2fabrikam.onmicrosoft.com%2foauth2%2fauthresp
&state=...

En la tabla siguiente, se enumeran los metadatos del punto de conexión de autorización.

Atributo Obligatorio Descripción
authorization_endpoint La dirección URL del punto de conexión de autorización de acuerdo con RFC 6749.
client_id El identificador de la aplicación del proveedor de identidades.
AdditionalRequestQueryParameters No Parámetros de consulta de solicitud adicionales. Por ejemplo, es posible que desee enviar parámetros adicionales al proveedor de identidades. Puede incluir varios parámetros usando la coma como delimitador.
response_mode No Método que usará el proveedor de identidades para enviar de vuelta el resultado Azure AD B2C. Valores posibles: query, form_post (predeterminado) o fragment.
scope No El ámbito de la solicitud que se define según la especificación del proveedor de identidades de OAuth2. Por ejemplo, openid, profile y email.
UsePolicyInRedirectUri No Indica si se usará una directiva al crear el URI de redireccionamiento. Al configurar la aplicación en el proveedor de identidades, necesita especificar el URI de redireccionamiento. El URI de redireccionamiento apunta a Azure AD B2C, https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp. Si especifica true, tendrá que agregar un URI de redireccionamiento por cada directiva que use. Por ejemplo: https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{policy-name}/oauth2/authresp.

Metadatos del punto de conexión de tokens

Una vez que el usuario completa su autenticación en el punto de conexión de autorización del proveedor de identidades, se devuelve una respuesta que contiene el valor de code de la autorización a Azure AD B2C. Azure AD B2C canjea el código de autorización por un token de acceso mediante el envío de una solicitud POST al punto de conexión /token del proveedor de identidades. En esta sección, se describen los metadatos del punto de conexión de tokens, que permiten configurar la solicitud al punto de conexión /token del proveedor de identidades.

La siguiente solicitud HTTP muestra una llamada de Azure AD B2C al punto de conexión de tokens del proveedor de identidades.

POST https://contoso/oauth2/token 
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&client_id=12345&scope=profile offline_access&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq... 

En la tabla siguiente, se enumeran los metadatos del punto de conexión de tokens.

Atributo Obligatorio Descripción
AccessTokenEndpoint Dirección URL del punto de conexión de tokens. Por ejemplo, https://www.linkedin.com/oauth/v2/accessToken.
HttpBinding No Enlace HTTP esperado al punto de conexión de tokens. Valores posibles: GET o POST.
AccessTokenResponseFormat No El formato de la llamada al punto de conexión del token de acceso. Por ejemplo, Facebook requiere un método HTTP GET, pero la respuesta del token de acceso está en formato JSON. Valores posibles: Default, Json y JsonP.
ExtraParamsInAccessTokenEndpointResponse No Contiene los parámetros adicionales que pueden devolverse en la respuesta de AccessTokenEndpoint por algunos proveedores de identidades. Por ejemplo, la respuesta de AccessTokenEndpoint contiene un parámetro adicional, como openid, que es un parámetro obligatorio además del elemento access_token en una cadena de consulta de solicitud ClaimsEndpoint. Varios nombres de parámetro deben convertirse en caracteres de escape y estar separados por el delimitador de coma ",".
token_endpoint_auth_method No Especifica cómo Azure AD B2C envía el encabezado de autenticación al punto de conexión del token. Valores posibles: client_secret_post (valor predeterminado) y client_secret_basic, private_key_jwt. Para obtener más información, consulte la sección Autenticación de cliente de OpenID Connect.
token_signing_algorithm No Especifica el algoritmo de firma que se va a usar cuando token_endpoint_auth_method se establece en private_key_jwt. Valores posibles: RS256 (predeterminado) o RS512.

Configuración del método del enlace HTTP

De manera predeterminada, la solicitud al punto de conexión de tokens usa HTTP POST.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">POST</Item>

La siguiente llamada HTTP muestra una llamada al punto de conexión de tokens mediante la solicitud HTTP POST:

POST /oauth2/token

client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Para los proveedores de identidades que requieren el uso del método HTTP GET en el punto de conexión /token, establezca los metadatos de HttpBinding en GET. Tenga en cuenta que, en el ejemplo siguiente, el valor de AccessTokenResponseFormat se establece en json, ya que el punto de conexión de tokens devuelve la respuesta en formato JSON.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">GET</Item>
<Item Key="AccessTokenResponseFormat">json</Item>
GET /oauth2/token?client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Configuración del formato de respuesta del token de acceso

Para los proveedores de identidades que admiten el método HTTP POST, el valor de AccessTokenResponseFormat se establece de manera predeterminada en json. Si el proveedor de identidades admite la solicitud HTTP GET, debe establecer explícitamente el formato de respuesta del token de acceso en json.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">GET</Item>
<Item Key="AccessTokenResponseFormat">json</Item>

En el ejemplo siguiente, se muestra una respuesta del punto de conexión de tokens en formato JSON:

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...",
    "token_type": "Bearer",
    "not_before": 1637924390,
    "expires_in": 960000,
}

Configuración del método de autenticación

Las solicitudes al punto de conexión de tokens siempre requieren autenticación. De manera predeterminada, Azure AD B2C proporciona credenciales de cliente al proveedor de identidades. De manera predeterminada, el método de autenticación es client_secret_post, incluidas las credenciales de cliente (client_id y client_secret) en el cuerpo de la solicitud.

La siguiente solicitud HTTP al punto de conexión de tokens contiene los elementos client_id y client_secret en los datos POST. Para las solicitudes GET, client_id y client_secret se incluyen en los parámetros de la cadena de consulta.

POST /oauth2/token

client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Para los proveedores de identidades que requieren el uso de la autenticación HTTP básica en su punto de conexión /token, configure los metadatos de token_endpoint_auth_method en client_secret_basic. Con este tipo de método de autenticación, las credenciales de cliente se pasan al proveedor de identidades mediante el esquema de autenticación básico de HTTP.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="token_endpoint_auth_method">client_secret_basic</Item>

La siguiente solicitud HTTP muestra una llamada al punto de conexión de tokens con la autenticación HTTP básica. El encabezado de autorización contiene el identificador de cliente y el secreto de cliente, con el formato client_ID:client_secret codificado en base 64.

POST /oauth2/token

Authorization: Basic YWJjZDoxMjM0

redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Para los proveedores de identidades que admiten la autenticación JWT de clave privada, configure los metadatos de token_endpoint_auth_method en private_key_jwt. Con este tipo de método de autenticación, el certificado proporcionado a Azure AD B2C se usa para generar una aserción firmada, que se pasa al proveedor de identidades mediante el parámetro client_assertion. El valor de client_assertion_type se establece en urn:ietf:params:oauth:client-assertion-type:jwt-bearer. Los metadatos de token_signing_algorithm especifican el algoritmo de firma del token JWT.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="token_endpoint_auth_method">private_key_jwt</Item>
<Item Key="token_signing_algorithm">RS256</Item>

La siguiente solicitud HTTP muestra una llamada al punto de conexión de tokens con la autenticación JWT de clave privada.

POST /oauth2/token

client_assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IjJFRFg0dWRYeDIxbXNoaXdJVzczMUY3OUZSbFJiUDZXVXJyZmktR1RFeVkifQ.eyJpc3MiOiJhYmNkIiwiZXhwIjoxNjM3OTI5ODY0LCJuYmYiOjE2Mzc5Mjk1NjQsImF1ZCI6Imh0dHBzOi8vNWRlNC0xMDktNjQtMTI0LTUzLm5ncm9rLmlvL2FjY2Vzc190b2tlbiIsImp0aSI6IjVxQWlGV2lEODNDbU1KWWNrejBRdGc9PSIsInN1YiI6ImFiY2QiLCJpYXQiOjE2Mzc5Mjk1NjR9.C4OtRnrLaQatpT5LP45O5Nb418S4v8yZi_C42ld440w&client_id=abcd&client_assertion_type=urn%3aietf%3aparams%3aoauth%3aclient-assertion-type%3ajwt-bearer&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Metadatos del punto de conexión de información del usuario

Después de que Azure AD B2C obtiene el token de acceso del proveedor de identidades de OAuth2, realiza una llamada al punto de conexión de información del usuario. El punto de conexión de información del usuario, también conocido como punto de conexión de notificaciones, está diseñado para recuperar notificaciones sobre el usuario autenticado. Azure AD B2C usa la autenticación de token de portador para autenticarse en el punto de conexión de información del usuario del proveedor de identidades. El token de portador es el token de acceso que Azure AD B2C obtiene del punto de conexión /token del proveedor de identidades.

La solicitud al punto de conexión de información del usuario siempre es HTTP GET. El token de acceso se envía en un parámetro de la cadena de consulta llamado access_token. La siguiente solicitud HTTP muestra una llamada al punto de conexión de información del usuario con el token de acceso en el parámetro de la cadena de consulta.

GET /oauth2/claims?access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5... 

En la tabla siguiente, se enumeran los metadatos del punto de conexión de información del usuario.

Atributo Obligatorio Descripción
ClaimsEndpoint La dirección URL del punto de conexión de la información de usuario. Por ejemplo, https://api.linkedin.com/v2/me.
ClaimsEndpointAccessTokenName No El nombre del parámetro de la cadena de consulta del token de acceso. Valor predeterminado: access_token.
ClaimsEndpointFormatName No El nombre del parámetro de cadena de consulta de formato. Por ejemplo, puede establecer el nombre como format en este punto de conexión de notificaciones de LinkedIn https://api.linkedin.com/v1/people/~?format=json.
ClaimsEndpointFormat No El valor del parámetro de cadena de consulta de formato. Por ejemplo, puede establecer el valor como json en este punto de conexión de notificaciones de LinkedIn https://api.linkedin.com/v1/people/~?format=json.
BearerTokenTransmissionMethod No Especifica cómo se envía el token. El método predeterminado es una cadena de consulta. Para enviar el token como un encabezado de solicitud, establezca en AuthorizationHeader.
ExtraParamsInClaimsEndpointRequest No Contiene los parámetros adicionales que pueden devolverse en la solicitud ClaimsEndpoint por algunos proveedores de identidades. Varios nombres de parámetro deben convertirse en caracteres de escape y estar separados por el delimitador de coma ",".

Configuración del parámetro de la cadena de consulta del token de acceso

El punto de conexión de información del usuario puede requerir que el token de acceso se envíe en un parámetro determinado de la cadena de consulta. Para cambiar el nombre del parámetro de la cadena de consulta que contiene el token de acceso, use los metadatos de ClaimsEndpointAccessTokenName. En el ejemplo siguiente, el parámetro de la cadena de consulta del token de acceso se establece en token.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="ClaimsEndpointAccessTokenName">token</Item>

La siguiente llamada HTTP muestra una llamada al punto de conexión de información del usuario con el valor de ClaimsEndpointAccessTokenName establecido en token:

GET /oauth2/claims?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Configuración del formato de las notificaciones

ClaimsEndpointFormatName y ClaimsEndpointFormat permiten enviar un par clave-valor en el parámetro de la cadena de consulta al punto de conexión de información del usuario. En el ejemplo siguiente, se configura un parámetro de la cadena de consulta llamado format con el valor json.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="ClaimsEndpointFormatName">format</Item>
<Item Key="ClaimsEndpointFormat">json</Item>

La siguiente solicitud HTTP muestra una llamada al punto de conexión de información del usuario con ClaimsEndpointFormatName y ClaimsEndpointFormat configurados.

GET /oauth2/claims?format=json&access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Configuración del método de transmisión del token de portador

De manera predeterminada, el token de acceso se envía al punto de conexión de información del usuario del proveedor de identidades mediante un parámetro de la cadena de consulta. Para enviar el token dentro del encabezado HTTP Authorization, establezca los metadatos de BearerTokenTransmissionMethod en AuthorizationHeader.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>

La siguiente solicitud HTTP muestra cómo se pasa el token de acceso cuando BearerTokenTransmissionMethod se establece en AuthorizationHeader.

GET /oauth2/claims

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Paso de los parámetros devueltos por el punto de conexión de tokens

Algunos proveedores de identidades requieren pasar parámetros adicionales que se devuelven desde el punto de conexión de tokens al punto de conexión de información del usuario. Por ejemplo, la respuesta del punto de conexión de tokens contiene un parámetro llamado resource, que es un parámetro obligatorio del punto de conexión de información del usuario (además del token de acceso). Utilice los metadatos de ExtraParamsInClaimsEndpointRequest para especificar cualquier parámetro adicional que se deba pasar. Varios nombres de parámetro deben convertirse en caracteres de escape y estar separados por el delimitador de coma ",".

El siguiente código JSON muestra una carga JSON devuelta por el punto de conexión de tokens con un parámetro llamado resource.

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...",
    "token_type": "Bearer",
    "not_before": 1549647431,
    "expires_in": 960000,
    "resource": "f2a76e08-93f2-4350-833c-965c02483b11"
}

Para pasar el parámetro resource al punto de conexión de información del usuario, agregue los metadatos siguientes:

<Item Key="ExtraParamsInClaimsEndpointRequest">resource</Item>

La siguiente solicitud HTTP muestra cómo se pasa el parámetro resource al punto de conexión de información del usuario.

GET /oauth2/claims?resource=f2a76e08-93f2-4350-833c-965c02483b11&access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Punto de conexión de finalización de sesión

Para cerrar la sesión del usuario en la aplicación, redirija al usuario al punto de conexión de cierre de sesión de Azure AD B2C (tanto para OAuth2 como para OpenID Connect) o envíe un elemento LogoutRequest (para SAML). Azure AD B2C borrará la sesión del usuario desde el explorador. Tras una solicitud de cierre de sesión, Azure AD B2C intenta cerrar la sesión de cualquier proveedor de identidades federado con el que el usuario pueda haber iniciado sesión. El identificador URI de cierre de sesión del proveedor de identidades de OAuth2 se configura en los metadatos de end_session_endpoint. Cuando el usuario cierra la sesión de la aplicación mediante Azure AD B2C, se creará un iframe oculto que llamará a end_session_endpoint en su página de cierre de sesión de Azure AD B2C.

En la tabla siguiente, se enumeran los metadatos del punto de conexión de información del usuario.

Atributo Obligatorio Descripción
end_session_endpoint Dirección URL del último punto de conexión de la sesión según RFC 6749.
SingleLogoutEnabled No Indica si, durante el inicio de sesión, el perfil técnico intenta cerrar sesión desde los proveedores de identidades federados. Para obtener más información, consulte Cierre de sesión de Azure AD B2C. Valores posibles: true (opción predeterminada) o false.

Metadatos genéricos de OAuth2

En la tabla siguiente, se enumeran los metadatos genéricos del proveedor de identidades de OAuth2. Los metadatos describen cómo el perfil técnico de OAuth2 controla la validación de tokens, obtiene las notificaciones y reacciona ante los mensajes de error.

Atributo Obligatorio Descripción
IdTokenAudience No El público de id_token. Si se especifica, Azure AD B2C comprueba si el token se encuentra en una notificación proporcionada por el proveedor de identidades y si es igual al especificado.
ProviderName No Nombre del proveedor de identidades.
ResponseErrorCodeParamName No El nombre del parámetro que contiene el mensaje de error devuelto a través de HTTP 200 (OK).
IncludeClaimResolvingInClaimsHandling   No En el caso de las notificaciones de entrada y salida, especifica si se incluye la resolución de notificaciones en el perfil técnico. Valores posibles: true o false (valor predeterminado). Si desea utilizar un solucionador de notificaciones en el perfil técnico, establézcalo en true.
ResolveJsonPathsInJsonTokens No Indica si el perfil técnico resuelve las rutas de acceso JSON. Valores posibles: true o false (valor predeterminado). Use estos metadatos para leer datos de un elemento JSON anidado. En un objeto OutputClaim, establezca PartnerClaimType en el elemento de la ruta de acceso JSON que quiere generar. Por ejemplo: firstName.localized o data[0].to[0].email.

Claves de cifrado

El elemento CryptographicKeys contiene el atributo siguiente:

Atributo Obligatorio Descripción
client_secret Secreto de cliente de la aplicación del proveedor de identidades. La clave de cifrado es necesaria solo si los metadatos de response_type se establecen en code. En este caso, Azure AD B2C realiza otra llamada para cambiar el código de autorización por un token de acceso. Si los metadatos se establecen en id_token, puede omitir la clave criptográfica.
assertion_signing_key No Cuando los metadatos de token_endpoint_auth_method se establecen en private_key_jwt, proporcione un certificado X509 para usarlo para firmar la clave JWT. El proveedor de identidades de OAuth2 le debe proporcionar esta clave.

URI de redireccionamiento

Al configurar el URI de redireccionamiento del proveedor de identidades, escriba https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/oauth2/authresp. Asegúrese de reemplazar {tenant-name} con el nombre de su inquilino (por ejemplo, contosob2c). El URI de redireccionamiento necesita estar escrito todo en minúsculas.

Pasos siguientes