Share via


Crear identityProvider (en desuso)

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.

Precaución

Esta API de proveedor de identidad está obsoleta y dejará de devolver datos después de marzo de 2023. Utilice la nueva API del proveedor de identidad.

Cree un nuevo objeto identityProvider .

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 /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 identityProvider o openIdConnectProvider (solo para Azure AD B2C). Todas las propiedades que se muestran en la siguiente tabla son necesarias.

identityProvider (objeto)

Propiedad Tipo Descripción
clientId Cadena Id. de cliente de la aplicación. Este es el identificador de cliente obtenido al registrar la aplicación con el proveedor de identidades.
clientSecret Cadena El secreto de cliente de la aplicación. Este es el secreto de cliente obtenido al registrar la aplicación con el proveedor de identidades.
name Cadena El nombre para mostrar del proveedor de identidades.
type Cadena El tipo de proveedor de identidades.
    Para el escenario B2B:
  • Google
  • Facebook
    Para el escenario B2C: Microsoft Google Amazon LinkedIn
  • Facebook
  • GitHub
  • Twitter
  • Weibo
  • QQ
  • WeChat
  • OpenIDConnect

openIdConnectProvider (objeto)

Propiedad Tipo Descripción
clientId Cadena Id. de cliente de la aplicación. Este es el identificador de cliente obtenido al registrar la aplicación con el proveedor de identidades.
clientSecret Cadena El secreto de cliente de la aplicación. Este es el secreto de cliente obtenido al registrar la aplicación con el proveedor de identidades.
name Cadena El nombre para mostrar del proveedor de identidades.
type Cadena El tipo de proveedor de identidades. El valor debe ser OpenIdConnect.
claimsMapping claimsMapping Las userId propiedades y displayname son necesarias en el objeto claimsMapping.
metadataUrl Cadena Dirección URL del documento de metadatos del proveedor de identidades de OpenID Connect.
responseMode Cadena Define el método que se debe usar para enviar los datos del proveedor de identidades personalizado a Azure AD B2C. Se pueden usar los siguientes modos de respuesta:
  • form_post : se recomienda este modo de respuesta para una mejor seguridad. La respuesta se transmite a través del método HTTP POST, con el código o token codificado en el cuerpo mediante el formato application/x-www-form-urlencoded.
  • query : el código o token se devuelve como parámetro de consulta.
responseType Cadena Describe qué tipo de información se devuelve en la llamada inicial a la authorization_endpoint del proveedor de identidades personalizado. Se pueden usar los siguientes tipos de respuesta:
  • code : según el flujo de código de autorización, se devolverá un código a Azure AD B2C. Azure AD B2C procede a llamar al token_endpoint para intercambiar el código por el token.
  • id_token : se devuelve un token de identificador a Azure AD B2C desde el proveedor de identidades personalizado.
  • token : se devuelve un token de acceso a Azure AD B2C desde el proveedor de identidades personalizado. (Este valor no es compatible con Azure AD B2C en este momento)
ámbito Cadena El ámbito define la información y los permisos que desea recopilar del proveedor de identidades personalizado.

Respuesta

Si se ejecuta correctamente, este método devuelve un código de respuesta y un 201 Created objeto identityProvider o openIdConnectProvider (solo para Azure AD B2C) en el cuerpo de la respuesta. Si falla, se devolverá un error 4xx con detalles específicos.

Ejemplos

Ejemplo 1: Creación de un identityProvider específico

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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

{
  "@odata.type": "microsoft.graph.identityProvider",
  "name": "Login with Amazon",
  "type": "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.identityProvider",
    "id": "Amazon-OAUTH",
    "name": "Login with Amazon",
    "type": "Amazon",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "*****"
}

Ejemplo 2: Creación de un openIDConnectProvider específico (solo para Azure AD B2C)

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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

{
  "@odata.type": "microsoft.graph.openIdConnectProvider",
    "name": "Login with the Contoso identity provider",
    "type": "OpenIDConnect",
    "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.openIdConnectProvider",
  "id": "OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a",
  "name": "Login with the Contoso identity provider",
  "type": "OpenIDConnect",
  "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"
}