Crie um novo objeto federatedIdentityCredential para uma aplicação. Ao configurar uma relação de confiança entre a sua Microsoft Entra registo de aplicações e o fornecedor de identidade para a sua plataforma de computação, pode utilizar tokens emitidos por essa plataforma para autenticar com plataforma de identidade da Microsoft e chamar APIs no ecossistema da Microsoft. Pode ser adicionado um máximo de 20 objetos a uma aplicação.
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
Tipo de permissão
Permissões com menos privilégios
Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante)
Application.ReadWrite.All
Indisponível.
Delegado (conta pessoal da Microsoft)
Application.ReadWrite.All
Indisponível.
Application
Application.ReadWrite.OwnedBy
Application.ReadWrite.All
Solicitação HTTP
Pode abordar a aplicação com o respetivo ID ou appId.
O id e o appId são referidos como o ID do Objeto e o ID da Aplicação (Cliente), respetivamente, nos registos de aplicações no centro de administração do Microsoft Entra.
POST /applications/{id}/federatedIdentityCredentials
POST /applications(appId='{appId}')/federatedIdentityCredentials
Obrigatório. A audiência que pode aparecer no token externo. Este campo é obrigatório e deve ser definido api://AzureADTokenExchange como para Microsoft Entra ID. Diz o que plataforma de identidade da Microsoft deve aceitar na aud afirmação no token de entrada. Este valor representa Microsoft Entra ID no seu fornecedor de identidade externo e não tem um valor fixo entre fornecedores de identidade. Poderá ter de criar um novo registo de aplicação no seu fornecedor de identidade para servir de audiência deste token. Este campo só pode aceitar um único valor e tem um limite de 600 carateres.
emissor
Cadeia de caracteres
Obrigatório. O URL do fornecedor de identidade externa e tem de corresponder à afirmação do emissor do token externo que está a ser trocado. A combinação dos valores do emissor e do assunto tem de ser exclusiva na aplicação. Tem um limite de 600 carateres.
nome
Cadeia de caracteres
Obrigatório. O identificador exclusivo da credencial de identidade federada, que tem um limite de 120 carateres e tem de ser compatível com o URL. É imutável uma vez criado.
assunto
Cadeia de caracteres
Obrigatório. O identificador da carga de trabalho de software externo no fornecedor de identidade externo. Tal como o valor de audiência, não tem um formato fixo, uma vez que cada fornecedor de identidade utiliza o seu próprio , por vezes um GUID, por vezes um identificador delimitado por dois pontos, por vezes cadeias arbitrárias. O valor aqui tem de corresponder à sub-afirmação no token apresentado ao Microsoft Entra ID. Tem um limite de 600 carateres. A combinação de emissor e assunto tem de ser exclusiva na aplicação.
Resposta
Se for bem-sucedido, este método devolve um 201 Created código de resposta e um objeto federatedIdentityCredential no corpo da resposta.
// 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://learn.microsoft.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://learn.microsoft.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://learn.microsoft.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)