Upsert federatedIdentityCredential
Namespace: microsoft.graph
Crie um novo objeto federatedIdentityCredential para um aplicativo se ele existir ou atualize as propriedades de um objeto federatedIdentityCredential existente. Ao configurar uma relação de confiança entre seu Microsoft Entra registro de aplicativo e o provedor de identidade para sua plataforma de computação, você pode usar tokens emitidos por essa plataforma para autenticar com plataforma de identidade da Microsoft e chamar APIs no ecossistema da Microsoft. No máximo 20 objetos podem ser adicionados a um aplicativo.
Essa API está disponível nas seguintes implantações nacionais de nuvem.
Serviço global | Governo dos EUA L4 | GOVERNO DOS EUA L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Permissões
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Tipo de permissão | Permissões menos privilegiadas | Permissões privilegiadas mais altas |
---|---|---|
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
Você pode abordar o aplicativo usando sua id ou appId. Id e appId são chamados de ID de Objeto e ID do Aplicativo (Cliente), respectivamente, em registros de aplicativo no centro de administração do Microsoft Entra.
PATCH /applications/{id}/federatedIdentityCredentials(name='{name}')
PATCH /applications(appId='{appId}')/federatedIdentityCredentials(name='{name}')
Cabeçalhos de solicitação
Nome | Descrição |
---|---|
Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Content-Type | application/json. Obrigatório. |
Preferir |
create-if-missing . Necessário para um comportamento upsert, caso contrário, a solicitação é tratada como uma operação de atualização. |
Corpo da solicitação
No corpo da solicitação, forneça uma representação JSON do objeto federatedIdentityCredential . A tabela a seguir lista as propriedades necessárias ao criar a federatedIdentityCredential. Observe que a propriedade name é necessária como parte da URL de solicitação.
Propriedade | Tipo | Descrição |
---|---|---|
Público | String collection | O público-alvo que pode aparecer no token externo. Esse campo é obrigatório e deve ser definido como api://AzureADTokenExchange para Microsoft Entra ID. Ele diz qual plataforma de identidade da Microsoft deve aceitar na declaração aud no token de entrada. Esse valor representa Microsoft Entra ID em seu provedor de identidade externo e não tem nenhum valor fixo entre provedores de identidade - talvez seja necessário criar um novo registro de aplicativo em seu provedor de identidade para servir como o público-alvo desse token. Esse campo só pode aceitar um único valor e tem um limite de 600 caracteres. Obrigatório. |
Emissor | Cadeia de caracteres | TThe URL do provedor de identidade externa e deve corresponder à declaração do emissor do token externo que está sendo trocado. A combinação dos valores do emissor e do assunto deve ser exclusiva no aplicativo. Ele tem um limite de 600 caracteres. Obrigatório. |
assunto | Cadeia de caracteres | Obrigatório. O identificador da carga de trabalho de software externo no provedor de identidade externo. Como o valor de audiência, ele não tem formato fixo, pois cada provedor de identidade usa o seu próprio - às vezes um GUID, às vezes um identificador delimitado por cólon, às vezes cadeias de caracteres arbitrárias. O valor aqui deve corresponder à sub-declaração dentro do token apresentado a Microsoft Entra ID. Ele tem um limite de 600 caracteres. A combinação de emissor e assunto deve ser exclusiva no aplicativo. |
Resposta
Se for bem-sucedido, se um objeto de aplicativo com nome não existir, esse método retornará um 201 Created
código de resposta e um novo objeto federatedIdentityCredential no corpo da resposta.
Se um objeto de aplicativo com nome já existir, esse método atualizará o objeto federatedIdentityCredential e retornará um código de 204 No Content
resposta.
Exemplos
Exemplo 1: criar uma nova federatedIdentityCredential se ela não existir
O exemplo a seguir cria uma federatedIdentityCredential porque uma federatedIdentityCredential com o valor de nome especificado não existe.
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/v1.0/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"
]
}
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$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"
]
}
Exemplo 2: atualizar um federatedIdentityCredential existente
O exemplo a seguir atualiza a federatedIdentityCredential porque existe uma federatedIdentityCredential com o valor de nome especificado.
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/v1.0/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"
]
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content