Cree un nuevo objeto federatedIdentityCredential para una aplicación. 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.
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.
POST /applications/{id}/federatedIdentityCredentials
POST /applications(appId='{appId}')/federatedIdentityCredentials
Obligatorio. 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.
Emisor
Cadena
Obligatorio. 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.
name
Cadena
Obligatorio. Identificador único de la credencial de identidad federada, que tiene un límite de 120 caracteres y debe ser descriptivo para la dirección URL. Es inmutable una vez creado.
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, este método devuelve un 201 Created código de respuesta y un objeto federatedIdentityCredential en el cuerpo de la respuesta.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new FederatedIdentityCredential
{
Name = "testing02",
Issuer = "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
Subject = "a7d388c3-5e3f-4959-ac7d-786b3383006a",
Audiences = new List<string>
{
"api://AzureADTokenExchange",
},
};
// To initialize your graphClient, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Applications["{application-id}"].FederatedIdentityCredentials.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewFederatedIdentityCredential()
name := "testing02"
requestBody.SetName(&name)
issuer := "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0"
requestBody.SetIssuer(&issuer)
subject := "a7d388c3-5e3f-4959-ac7d-786b3383006a"
requestBody.SetSubject(&subject)
audiences := []string {
"api://AzureADTokenExchange",
}
requestBody.SetAudiences(audiences)
// To initialize your graphClient, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
federatedIdentityCredentials, err := graphClient.Applications().ByApplicationId("application-id").FederatedIdentityCredentials().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
FederatedIdentityCredential federatedIdentityCredential = new FederatedIdentityCredential();
federatedIdentityCredential.setName("testing02");
federatedIdentityCredential.setIssuer("https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0");
federatedIdentityCredential.setSubject("a7d388c3-5e3f-4959-ac7d-786b3383006a");
LinkedList<String> audiences = new LinkedList<String>();
audiences.add("api://AzureADTokenExchange");
federatedIdentityCredential.setAudiences(audiences);
FederatedIdentityCredential result = graphClient.applications().byApplicationId("{application-id}").federatedIdentityCredentials().post(federatedIdentityCredential);
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.federated_identity_credential import FederatedIdentityCredential
# To initialize your graph_client, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = FederatedIdentityCredential(
name = "testing02",
issuer = "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
subject = "a7d388c3-5e3f-4959-ac7d-786b3383006a",
audiences = [
"api://AzureADTokenExchange",
],
)
result = await graph_client.applications.by_application_id('application-id').federated_identity_credentials.post(request_body)