Upsert federatedIdentityCredential

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 nuevo objeto federatedIdentityCredential para una aplicación si existe o actualice las propiedades de un objeto federatedIdentityCredential existente. Al configurar una relación de confianza entre el registro de aplicaciones de Microsoft Entra y el proveedor de identidades de la plataforma de proceso, puede usar los tokens emitidos por esa plataforma para autenticarse con Plataforma de identidad de Microsoft y llamar a las API en el ecosistema de Microsoft. Se pueden agregar un máximo de 20 objetos a una aplicación.

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) Application.ReadWrite.All No disponible.
Delegado (cuenta personal de Microsoft) Application.ReadWrite.All No disponible.
Aplicación Application.ReadWrite.OwnedBy Application.ReadWrite.All

Solicitud HTTP

Puede dirigirse a la aplicación mediante su id . o appId. id y appId se conocen como id. de objeto y id. de aplicación (cliente), respectivamente, en los registros de aplicaciones en el Centro de administración Microsoft Entra.

PATCH /applications/{id}/federatedIdentityCredentials(name='{name}')
PATCH /applications(appId='{appId}')/federatedIdentityCredentials(name='{name}')

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. Necesario.
Prefer create-if-missing. Necesario para el comportamiento de upsert; de lo contrario, la solicitud se trata como una operación de actualización.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON del objeto federatedIdentityCredential . En la tabla siguiente se enumeran las propiedades necesarias al crear federatedIdentityCredential. Tenga en cuenta que la propiedad name es necesaria como parte de la dirección URL de la solicitud.

Propiedad Tipo Descripción
Audiencias Colección de cadenas Audiencia que puede aparecer en el token externo. Este campo es obligatorio y debe establecerse en api://AzureADTokenExchange para Microsoft Entra ID. Indica qué Plataforma de identidad de Microsoft debe aceptar en la aud notificación del token entrante. Este valor representa Microsoft Entra ID en el proveedor de identidades externo y no tiene ningún valor fijo entre los proveedores de identidades; es posible que tenga que crear un nuevo registro de aplicación en el proveedor de identidades para que sirva como audiencia de este token. Este campo solo puede aceptar un valor único y tiene un límite de 600 caracteres. Obligatorio.
Emisor Cadena TLa dirección URL del proveedor de identidades externo y debe coincidir con la notificación del emisor del token externo que se está intercambiando. La combinación de los valores de emisor y asunto debe ser única en la aplicación. Tiene un límite de 600 caracteres. Obligatorio.
subject Cadena Obligatorio. Identificador de la carga de trabajo de software externo dentro del proveedor de identidades externo. Al igual que el valor de audiencia, no tiene ningún formato fijo, ya que cada proveedor de identidades usa su propio guid, a veces un identificador delimitado por dos puntos y, a veces, cadenas arbitrarias. El valor aquí debe coincidir con la notificación secundaria dentro del token presentado a Microsoft Entra ID. Tiene un límite de 600 caracteres. La combinación del emisor y el asunto debe ser única en la aplicación.

Respuesta

Si se ejecuta correctamente, si no existe un objeto de aplicación con nombre , este método devuelve un 201 Created código de respuesta y un nuevo objeto federatedIdentityCredential en el cuerpo de la respuesta.

Si ya existe un objeto de aplicación con nombre , este método actualiza el objeto federatedIdentityCredential y devuelve un código de 204 No Content respuesta.

Ejemplos

Ejemplo 1: Crear una nueva instancia de federatedIdentityCredential si no existe

En el ejemplo siguiente se crea un federatedIdentityCredential porque un federatedIdentityCredential con el valor de nombre especificado no existe.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')/federatedIdentityCredentials(name='fic01-app-65278')
Content-Type: application/json

{
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

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.context": "https://graph.microsoft.com/beta/$metadata#applications('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/$entity",
    "id": "d9b7bf1e-429e-4678-8132-9b00c9846cc4",
    "name": "testing02fic01-app-65278",
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "description": null,
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

Ejemplo 2: Actualización de una instancia de federatedIdentityCredential existente

En el ejemplo siguiente se actualiza federatedIdentityCredential porque existe un federatedIdentityCredential con el valor de nombre especificado.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')/federatedIdentityCredentials(name='fic01-app-65278')
Content-Type: application/json
Prefer: create-if-missing

{
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 204 No Content