Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Inquilinos externos (más información)
Al configurar la federación con un proveedor de identidades de OpenID Connect (OIDC) configurado personalizado, permite a los usuarios registrarse e iniciar sesión en las aplicaciones con sus cuentas existentes desde el proveedor externo federado. Esta federación de OIDC permite la autenticación con varios proveedores que cumplen el protocolo OpenID Connect.
Al agregar un proveedor de identidades OIDC a las opciones de inicio de sesión de su flujo de usuario, los usuarios pueden registrarse e iniciar sesión en las aplicaciones registradas definidas en ese flujo de usuario. Pueden hacerlo con sus credenciales del proveedor de identidades OIDC. (Obtenga más información sobre los métodos de autenticación y los proveedores de identidades para los clientes).
Prerrequisitos
- Un inquilino externo.
- Una aplicación registrada en el tenant externo.
- Flujo de registro e inicio de sesión del usuario.
Configuración del proveedor de identidades de OpenID Connect
Para federar usuarios con su proveedor de identidades, primero debe configurar su proveedor de identidades para que acepte solicitudes de federación procedentes de su inquilino externo. Para realizar esta preparación, agregue las URI de redirección y registre el proveedor de identidades para que se reconozca.
Antes de pasar al paso siguiente, agregue los URI de redirección como se indica a continuación:
https://<tenant-subdomain>.ciamlogin.com/<tenant-ID>/federation/oauth2
https://<tenant-subdomain>.ciamlogin.com/<tenant-subdomain>.onmicrosoft.com/federation/oauth2
Habilite el inicio de sesión y el registro con su proveedor de identidades
Para habilitar el inicio de sesión y el registro para los usuarios con una cuenta en el proveedor de identidades, debe registrar el identificador de Microsoft Entra como una aplicación en el proveedor de identidades. Este paso permite que el proveedor de identidad reconozca y emita tokens a su Microsoft Entra ID para la federación. Registre la aplicación mediante los URI de redirección rellenados. Guarde los detalles de la configuración del proveedor de identidades para configurar la federación en el inquilino externo.
Configuración de la federación
Para configurar la federación de OpenID Connect con el proveedor de identidades en el identificador externo de Microsoft Entra, necesita la siguiente configuración:
- Punto de conexión conocido
- URI del emisor
- Id. de cliente
- Método de autenticación de cliente
- Secreto de cliente
- Ámbito
- Tipo de respuesta
-
Asignación de notificaciones
- Sub
- Nombre
- Nombre propio
- Apellido
- Correo electrónico (obligatorio de forma predeterminada; se puede hacer opcional)
- Correo_verificado
- Número de teléfono
- Número de teléfono verificado
- Dirección postal
- Localidad
- Región
- Código postal
- País
Configuración de un nuevo proveedor de identidades de OpenID Connect en el Centro de administración
Después de configurar el proveedor de identidades, complete este paso para configurar una nueva federación de OpenID Connect en el Centro de administración de Microsoft Entra.
Inicie sesión en el Centro de administración de Microsoft Entra como al menos un administrador del proveedor de identidades externo.
Vaya a Entra ID>Identidades externas>Todos los proveedores de identidades.
Seleccione la pestaña Personalizado y, a continuación, seleccione Agregar nuevo>Open ID Connect.
Introduzca los detalles siguientes para el proveedor de identidades:
Nombre para mostrar: el nombre del proveedor de identidades que se muestra a los usuarios durante los flujos de inicio de sesión y registro. Por ejemplo, Inicie sesión con el nombre de IdP o Regístrese con el nombre de IdP.
Punto de conexión conocido (también conocido como URI de metadatos) es el URI de detección de OIDC para obtener la información de configuración para el proveedor de identidades. La respuesta es un documento JSON que incluye ubicaciones de punto de conexión de OAuth 2.0. Como mínimo, el documento de metadatos debe contener las siguientes propiedades:
issuer,authorization_endpoint,token_endpoint,token_endpoint_auth_methods_supported,response_types_supported, ysubject_types_supportedjwks_uri. Para obtener más información, consulte las especificaciones de detección de OpenID Connect.URI del emisor de OpenID: la entidad del proveedor de identidades que emite tokens de acceso para tu aplicación. Por ejemplo, si usa OpenID Connect para federar con Azure AD B2C, el URI del emisor tiene el siguiente aspecto:
https://login.b2clogin.com/{tenant}/v2.0/. El URI del emisor es una URL sensible a mayúsculas y minúsculas que utiliza el esquema https. Contiene los componentes esquema, host y, opcionalmente, número de puerto y ruta, pero no incluye componentes de consulta o fragmento.
Nota:
Para federar con un tenant de Microsoft Entra ID, consulte el documento Adición de un tenant de Microsoft Entra ID como proveedor de identidades de OpenID Connect. La federación de OIDC tampoco es compatible con la característica Invitar a usuario externo (versión preliminar).
-
El identificador de cliente y el secreto de cliente son los identificadores que usa el proveedor de identidades para identificar el servicio de aplicación registrado. Proporcione un secreto de cliente al seleccionar un método de autenticación basado en
client_secret. -
Autenticación de cliente es el tipo de método de autenticación de cliente que se usará para autenticarse con el proveedor de identidades mediante el punto de conexión del token. Se admiten los métodos de autenticación
client_secret_postyclient_secret_jwt. Aunque la interfaz de usuario del Centro de administración puede mostrarseprivate_key_jwtcomo una opción, este método no se admite actualmente y no se debe seleccionar.
Nota:
Debido a posibles problemas de seguridad, no se admite el
client_secret_basicmétodo de autenticación de cliente.-
El ámbito define la información y los permisos que desea recopilar del proveedor de identidades, por ejemplo
openid profile. Las solicitudes de OpenID Connect deben contener el valor de ámbitoopenidpara recibir el token de ID del proveedor de identidades. Se pueden agregar otros ámbitos separados por espacios. Consulte la documentación de OpenID Connect para ver otros ámbitos disponibles, comoprofile,emaily mucho más. -
Tipo de respuesta describe qué tipo de información se envía en la llamada inicial al
authorization_endpointdel proveedor de identidades. Actualmente, solo se admite el tipo decoderespuesta. No se admitenid_tokennitoken.
Seleccione Siguiente: Mapeo de declaraciones para configurar el mapeo de declaraciones o Revisar + crear para agregar el proveedor de identidades.
Nota:
Microsoft recomienda no usar el flujo de concesión implícita o el flujo de ROPC. Por lo tanto, la configuración del proveedor de identidades externo de OpenID Connect no admite estos flujos. La forma recomendada de admitir SPAs es el flujo de código de autorización de OAuth 2.0 (con PKCE), que es compatible con la configuración de federación de OIDC.
Adición de un proveedor de identidades OIDC a un flujo de usuario
En este momento, ya tiene configurado el proveedor de identidades OIDC en su Microsoft Entra ID, pero todavía no está disponible en ninguna de las páginas de inicio de sesión. Para agregar el proveedor de identidades OIDC a un flujo de usuario:
En su inquilino externo, vaya a Entra ID>Identidades externas>Flujos de usuarios.
Seleccione el flujo de usuario en el que desea agregar el proveedor de identidades OIDC.
En Configuración, seleccione Proveedores de identidades.
En Otros proveedores de identidades, seleccione Proveedor de identidades OIDC.
Seleccione Guardar.
Hacer opcional el correo electrónico para el registro con proveedor de identidad externo
De forma predeterminada, se requiere una dirección de correo electrónico cuando los usuarios se registran con un proveedor de identidades externo (IdP). Si el IdP externo no envía una notificación de correo electrónico, los usuarios encuentran el error AADSTS901011: No email address was obtained from the external oidc identity provider durante la suscripción. Para evitar este error, configure el flujo de usuario para que el atributo de correo electrónico sea opcional. Después, los usuarios pueden completar el registro con su identidad de IdP externa, sin proporcionar una dirección de correo electrónico.
Importante
Hacer que el correo electrónico sea opcional es una configuración de nivel de flujo de usuario. Este cambio se aplica a los registros de todas las aplicaciones asociadas al flujo de usuario.
Nota:
Cuando no se recopila el correo electrónico, el código de acceso de un solo uso (OTP) de correo electrónico no se puede usar para MFA. Asegúrese de que un método MFA alternativo (como SMS) esté habilitado si las directivas requieren MFA.
Sugerencia
Normalmente, el selector de cuentas muestra la dirección de correo electrónico del usuario. Cuando no se recopila ninguna dirección de correo electrónico, se muestra en su lugar el nombre mostrado. Para ayudar a los usuarios a identificar fácilmente su cuenta, asigne la notificación name de la Asignación de notificaciones o recopile el nombre para mostrar durante la suscripción.
Actualización del flujo de usuario para que el correo electrónico sea opcional
Para que el atributo de correo electrónico sea opcional en el flujo de usuario, use microsoft Graph API para actualizar la propiedad onAttributeCollection del flujo de usuario.
Busque el identificador del flujo de usuario que desea actualizar. Una manera de hacerlo es usar el Explorador de Graph para enumerar todos los flujos de usuario:
GET https://graph.microsoft.com/v1.0/identity/authenticationEventsFlowsLocalice el
iddel flujo de usuario y la propiedadonAttributeCollectionen la respuesta.Copie la
onAttributeCollectionpropiedad de la respuesta y úsela para actualizar el flujo de usuario con unaPATCHsolicitud. El único cambio que debe realizar es establecer larequiredpropiedad en el atributo email enfalse:PATCH https://graph.microsoft.com/v1.0/identity/authenticationEventsFlows/{user-flow-id} Content-Type: application/json { "@odata.type": "#microsoft.graph.externalUsersSelfServiceSignUpEventsFlow", "onAttributeCollection": { "@odata.type": "#microsoft.graph.onAttributeCollectionExternalUsersSelfServiceSignUp", "attributeCollectionPage": { "views": [ { "title": null, "description": null, "inputs": [ { "attribute": "email", "label": "Email Address", "inputType": "text", "defaultValue": null, "hidden": false, "editable": true, "writeToDirectory": true, "required": false, "validationRegEx": "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", "options": [] } ] } ] } } }Nota:
Incluya todas las entradas de atributo del flujo de usuario existente en la
PATCHsolicitud, no solo el atributo de correo electrónico. En el ejemplo anterior solo se muestra la entrada de correo electrónico, pero el flujo de usuario puede incluir atributos adicionales. Para obtener el esquema completo, consulte authenticationAttributeCollectionPage resource type (Tipo de recurso authenticationAttributeCollectionPage).
Limitaciones conocidas
Las directivas de acceso condicional que requieren el registro de MFA no funcionan según lo previsto cuando un inquilino externo está federado con un proveedor de identidades externo (IdP). Esta limitación puede dar lugar a uno de los siguientes comportamientos:
- Los usuarios no pueden registrar un método MFA y no pueden completar el inicio de sesión y a menudo se produce un error.
- Los usuarios no se redirigen al proceso de registro de MFA durante el inicio de sesión como se espera.
- Un usuario creado sin una dirección de correo electrónico no puede registrar una dirección de correo electrónico para su uso con el código de acceso de un solo uso (OTP) de correo electrónico como método MFA.