Definición de un perfil técnico de OAuth1 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 OAuth 1.0. En este artículo se describen los detalles para que un perfil técnico interactúe con un proveedor de notificaciones que admita este protocolo estandarizado. Con un perfil técnico de OAuth1, puede federarse con un proveedor de identidades basado en OAuth1, como X. Federating con el proveedor de identidades permite a los usuarios iniciar sesión con sus identidades sociales o empresariales existentes.
Protocolo
El atributo Name del elemento Protocol tiene que establecerse en OAuth1
. Por ejemplo, el protocolo para el perfil técnico Twitter-OAUTH1 es OAuth1
.
<TechnicalProfile Id="Twitter-OAUTH1">
<DisplayName>X</DisplayName>
<Protocol Name="OAuth1" />
...
Notificaciones de entrada
Los elementos InputClaims y InputClaimsTransformations están vacíos o faltan.
Notificaciones de salida
El elemento OutputClaims contiene una lista de notificaciones devuelta por el proveedor de identidadades de OAuth1. 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.
En el ejemplo siguiente se muestran las notificaciones devueltas por el proveedor de identidades X:
- La notificación user_id también se asigna a la notificación issuerUserId.
- La notificación screen_name que se asigna a la notificación displayName.
- 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="user_id" />
<OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="screen_name" />
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="twitter.com" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
</OutputClaims>
Metadatos
Atributo | Obligatorio | Descripción |
---|---|---|
client_id | Sí | El identificador de la aplicación del proveedor de identidades. |
ProviderName | No | Nombre del proveedor de identidades. |
request_token_endpoint | Sí | La dirección URL del punto de conexión del token de solicitud de acuerdo con RFC 5849. |
authorization_endpoint | Sí | La dirección URL del punto de conexión de autorización de acuerdo con RFC 5849. |
access_token_endpoint | Sí | La dirección URL del punto de conexión del token de acuerdo con RFC 5849. |
ClaimsEndpoint | No | La dirección URL del punto de conexión de la información de usuario. |
ClaimsResponseFormat | No | El formato de respuesta de las notificaciones. |
Claves de cifrado
El elemento CryptographicKeys contiene el atributo siguiente:
Atributo | Obligatorio | Descripción |
---|---|---|
client_secret | Sí | Secreto de cliente de la aplicación del proveedor de identidades. |
URI de redireccionamiento
Al configurar el URI de redireccionamiento del proveedor de identidades, escriba https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-id}/oauth1/authresp
. Asegúrese de reemplazar {tenant-name}
por el nombre de su inquilino (por ejemplo, contosob2c) y {policy-id}
por el identificador de la directiva (por ejemplo, b2c_1a_policy). El URI de redireccionamiento necesita estar escrito todo en minúsculas. Agregue un URI de redirección para todas las directivas que usan el inicio de sesión del proveedor de identidades.
Ejemplos: