Crear identityProvider

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Cree un objeto de proveedor de identidades que sea del tipo especificado en el cuerpo de la solicitud.

Entre los tipos de proveedores derivados de identityProviderBase, actualmente puede crear un recurso socialIdentityProvider en Microsoft Entra ID. En Azure AD B2C, esta operación puede crear actualmente un socialIdentityProvider, openIdConnectIdentityProvider o un recurso appleManagedIdentityProvider .

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) IdentityProvider.ReadWrite.All No disponible.
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación IdentityProvider.ReadWrite.All No disponible.

La cuenta profesional o educativa debe pertenecer al menos al rol Administrador de proveedores de identidades externosMicrosoft Entra.

Solicitud HTTP

POST /identity/identityProviders

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
Content-Type application/json. Obligatorio.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON del objeto socialIdentityProvider en Microsoft Entra ID.

En Azure AD B2C, proporcione una representación JSON de socialIdentityProvider, openIdConnectIdentityProvider o un objeto appleManagedIdentityProvider .

Se requieren todas las propiedades enumeradas en las tablas siguientes.

socialIdentityProvider (objeto)

Propiedad Tipo Descripción
clientId Cadena El identificador de cliente para la aplicación que se obtiene al registrar la aplicación con el proveedor de identidades.
clientSecret Cadena El secreto de cliente para la aplicación que se obtiene al registrar la aplicación con el proveedor de identidades. Es de solo escritura. Una operación de lectura devuelve ****.
displayName Cadena El nombre para mostrar del proveedor de identidades.
identityProviderType Cadena Para un escenario B2B, valores posibles: Google, Facebook. Para un escenario B2C, valores posibles: Microsoft, Google, Amazon, LinkedIn, Facebook, GitHub, Twitter, Weibo, QQ, WeChat.

openIdConnectIdentityProvider (objeto)

Propiedad Tipo Descripción
clientId Cadena Id. de cliente para la aplicación que se obtiene al registrar la aplicación con el proveedor de identidades.
clientSecret String Secreto de cliente para la aplicación que se obtiene al registrar la aplicación con el proveedor de identidades. ClientSecret tiene una dependencia de responseType.
  • Cuando responseType es code, se requiere un secreto para el intercambio de código de autenticación.
  • Cuando responseType es id_token el secreto no es necesario porque no hay ningún intercambio de código: el id_token se devuelve directamente desde la respuesta de autorización.
displayName Cadena El nombre para mostrar del proveedor de identidades.
domainHint Cadena La sugerencia de dominio se puede usar para ir directamente a la página de inicio de sesión del proveedor de identidades especificado, en lugar de hacer que el usuario realice una selección entre la lista de proveedores de identidades disponibles.
claimsMapping claimsMapping Una vez que el proveedor OIDC envía un token de identificador a Microsoft Entra ID, Microsoft Entra ID debe poder asignar las notificaciones del token recibido a las notificaciones que Microsoft Entra ID reconoce y usa. Este tipo complejo captura esa asignación.
metadataUrl Cadena Dirección URL del documento de metadatos del proveedor de identidades de OpenID Connect. Cada proveedor de identidades de OpenID Connect describe un documento de metadatos que contiene la mayor parte de la información necesaria para realizar el inicio de sesión. Esto incluye información como las direcciones URL que se van a usar y la ubicación de las claves de firma pública del servicio. El documento de metadatos de OpenID Connect siempre se encuentra en un punto de conexión que termina en .well-known/openid-configuration. Proporcione la dirección URL de metadatos para el proveedor de identidades de OpenID Connect que agregue.
responseMode Cadena El modo de respuesta define el método usado para enviar datos desde el proveedor de identidades personalizado a Azure AD B2C. Valores posibles: form_post, query.
responseType Cadena El tipo de respuesta describe el tipo de información que se devuelve en la llamada inicial al authorization_endpoint del proveedor de identidades personalizado. Valores posibles: code , id_token , token.
ámbito Cadena El ámbito define la información y los permisos que desea recopilar del proveedor de identidades personalizado.

appleIdentityProvider (objeto)

Propiedad Tipo Descripción
displayName Cadena El nombre para mostrar del proveedor de identidades.
developerId Cadena El identificador de desarrollador de Apple.
serviceId Cadena El identificador de servicio de Apple.
keyId Cadena El identificador de clave de Apple.
certificateData Cadena Los datos de certificado, que son una cadena larga de texto del certificado, puede ser nulo.

Respuesta

Si se ejecuta correctamente, este método devuelve un 201 Created código de respuesta y una representación JSON de un objeto socialIdentityProvider en el cuerpo de la respuesta de un inquilino de Microsoft Entra.

Para un inquilino de Azure AD B2C, este método devuelve un 201 Created código de respuesta y una representación JSON de un socialIdentityProvider, openIdConnectIdentityProvider o un objeto appleManagedIdentityProvider en el cuerpo de la respuesta.

Si falla, se devolverá un error 4xx con detalles específicos.

Ejemplos

Ejemplo 1: Creación de un proveedor de identidades sociales específico (Microsoft Entra ID y Azure AD B2C)

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/beta/identity/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.socialIdentityProvider",
  "displayName": "Login with Amazon",
  "identityProviderType": "Amazon",
  "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
  "clientSecret": "000000000000"
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.type": "microsoft.graph.socialIdentityProvider",
    "id": "Amazon-OAUTH",
    "displayName": "Login with Amazon",
    "identityProviderType": "Amazon",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "000000000000"
}

Ejemplo 2: Creación de un proveedor de identidades de OpenID Connect específico (solo para Azure AD B2C)

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/beta/identity/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.openIdConnectIdentityProvider",
    "displayName": "Login with the Contoso identity provider",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "12345",
    "claimsMapping": {
        "userId": "myUserId",
        "givenName": "myGivenName",
        "surname": "mySurname",
        "email": "myEmail",
        "displayName": "myDisplayName"
    },
    "domainHint": "mycustomoidc",
    "metadataUrl": "https://mycustomoidc.com/.well-known/openid-configuration",
    "responseMode": "form_post",
    "responseType": "code",
    "scope": "openid"
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.type": "microsoft.graph.openIdConnectIdentityProvider",
  "id": "OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a",
  "displayName": "Login with the Contoso identity provider",
  "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
  "clientSecret": "12345",
  "claimsMapping": {
      "userId": "myUserId",
      "givenName": "myGivenName",
      "surname": "mySurname",
      "email": "myEmail",
      "displayName": "myDisplayName"
  },
  "domainHint": "mycustomoidc",
  "metadataUrl": "https://mycustomoidc.com/.well-known/openid-configuration",
  "responseMode": "form_post",
  "responseType": "code",
  "scope": "openid"
}

Ejemplo 3: Recupera el proveedor de identidades de Apple (solo para Azure AD B2C)

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/beta/identity/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.appleManagedIdentityProvider",
  "displayName": "Sign in with Apple",
  "developerId": "UBF8T346G9",
  "serviceId": "com.microsoft.rts.b2c.test.client",
  "keyId": "99P6D879C4",
  "certificateData": "******"
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.type": "microsoft.graph.appleManagedIdentityProvider",
  "id": "Apple-Managed-OIDC",
  "displayName": "Sign in with Apple",
  "developerId": "UBF8T346G9",
  "serviceId": "com.microsoft.rts.b2c.test.client",
  "keyId": "99P6D879C4",
  "certificateData": "******"
}