Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Cuidado
Essa API do provedor de identidade está preterida e deixará de retornar dados após março de 2023. Use a nova API de provedor de identidade.
Atualize as propriedades de um objeto identityProvider .
Esta API está disponível nas seguintes implementações de cloud nacionais.
| Serviço global |
US Government L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissões
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 |
| Delegada (conta corporativa ou de estudante) |
IdentityProvider.ReadWrite.All |
Indisponível. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
IdentityProvider.ReadWrite.All |
Indisponível. |
Importante
Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada.
O Administrador do Fornecedor de Identidade Externo é a função com menos privilégios suportada para esta operação.
Solicitação HTTP
PATCH /identityProviders/{id}
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo do pedido, forneça um objeto JSON com uma ou mais propriedades que precisam de ser atualizadas para um objeto identityProvider ou openIdConnectProvider (apenas para Azure AD B2C).
objeto identityProvider
| Propriedade |
Tipo |
Descrição |
| clientId |
Cadeia de caracteres |
O ID do cliente para o aplicativo. Esta é a ID do cliente obtida ao registrar o aplicativo com o provedor de identidade. |
| clientSecret |
Cadeia de caracteres |
O segredo do cliente para o aplicativo. Este é o segredo do cliente obtido ao registrar o aplicativo com o provedor de identidade. |
| nome |
Cadeia de caracteres |
O nome de exibição exclusivo do provedor de identidade. |
| tipo |
Cadeia de caracteres |
A identidade do provedor de identidade.Para o cenário B2B:- Google
- Facebook
Para o cenário B2C:- Microsoft
- Google
- Amazon
- LinkedIn
- Facebook
- GitHub
- Twitter
- Weibo
- QQ
- WeChat
- OpenIDConnect
|
objeto openIdConnectProvider
| Propriedade |
Tipo |
Descrição |
| clientId |
Cadeia de caracteres |
O ID do cliente para o aplicativo. Esta é a ID do cliente obtida ao registrar o aplicativo com o provedor de identidade. |
| clientSecret |
Cadeia de caracteres |
O segredo do cliente para o aplicativo. Este é o segredo do cliente obtido ao registrar o aplicativo com o provedor de identidade. |
| nome |
Cadeia de caracteres |
O nome de exibição exclusivo do provedor de identidade. |
| tipo |
Cadeia de caracteres |
A identidade do provedor de identidade. O valor tem de ser OpenIdConnect. |
| claimsMapping |
claimsMapping |
Depois de o fornecedor OIDC enviar um token de ID de volta para Microsoft Entra ID, Microsoft Entra ID tem de conseguir mapear as afirmações do token recebido para as afirmações que Microsoft Entra ID reconhece e utiliza. Este tipo complexo captura esse mapeamento. |
| domainHint |
Cadeia de caracteres |
A sugestão de domínio pode ser utilizada para avançar diretamente para a página de início de sessão do fornecedor de identidade especificado, em vez de fazer com que o utilizador faça uma seleção entre a lista de fornecedores de identidade disponíveis. |
| metadataUrl |
Cadeia de caracteres |
O URL do documento de metadados do fornecedor de identidade do OpenID Connect. |
| responseMode |
Cadeia de caracteres |
Define o método que deve ser utilizado para enviar os dados de volta do fornecedor de identidade personalizado para Azure AD B2C. Os seguintes modos de resposta podem ser utilizados:
-
form_post : este modo de resposta é recomendado para uma melhor segurança. A resposta é transmitida através do método HTTP POST, com o código ou token a ser codificado no corpo com o formato application/x-www-form-urlencoded.
-
query : o código ou token é devolvido como um parâmetro de consulta. |
| responseType |
Cadeia de caracteres |
Descreve o tipo de informação que é reencaminhada na chamada inicial para o authorization_endpoint do fornecedor de identidade personalizado. Podem ser utilizados os seguintes tipos de resposta:
-
code: De acordo com o fluxo de código de autorização, será devolvido um código ao Azure AD B2C. Azure AD B2C, chama o token_endpoint para trocar o código do token.
-
id_token: é devolvido um token de ID ao Azure AD B2C a partir do fornecedor de identidade personalizado.
-
token: é devolvido um token de acesso ao Azure AD B2C a partir do fornecedor de identidade personalizado. (Neste momento, este valor não é suportado pelo Azure AD B2C) |
| scope |
Cadeia de caracteres |
O âmbito define as informações e permissões que pretende recolher do seu fornecedor de identidade personalizado. |
Resposta
Se tiver êxito, este método retornará um código de resposta 204 No Content. Caso não consiga, um 4xx erro será retornado com detalhes específicos.
Exemplos
Exemplo 1: Atualizar uma identidade específicaProvider
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/beta/identityProviders/Amazon-OAuth
Content-type: application/json
{
"clientSecret": "1111111111111"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new IdentityProvider
{
ClientSecret = "1111111111111",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityProviders["{identityProvider-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewIdentityProvider()
clientSecret := "1111111111111"
requestBody.SetClientSecret(&clientSecret)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
identityProviders, err := graphClient.IdentityProviders().ByIdentityProviderId("identityProvider-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
IdentityProvider identityProvider = new IdentityProvider();
identityProvider.setClientSecret("1111111111111");
IdentityProvider result = graphClient.identityProviders().byIdentityProviderId("{identityProvider-id}").patch(identityProvider);
const options = {
authProvider,
};
const client = Client.init(options);
const identityProvider = {
clientSecret: '1111111111111'
};
await client.api('/identityProviders/Amazon-OAuth')
.version('beta')
.update(identityProvider);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\IdentityProvider;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new IdentityProvider();
$requestBody->setClientSecret('1111111111111');
$result = $graphServiceClient->identityProviders()->byIdentityProviderId('identityProvider-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.SignIns
$params = @{
clientSecret = "1111111111111"
}
Update-MgBetaIdentityProvider -IdentityProviderId $identityProviderId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.identity_provider import IdentityProvider
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = IdentityProvider(
client_secret = "1111111111111",
)
result = await graph_client.identity_providers.by_identity_provider_id('identityProvider-id').patch(request_body)
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content
Exemplo 2: Atualizar um openIDConnectProvider específico (apenas para Azure AD B2C)
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/beta/identityProviders/OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a
Content-type: application/json
{
"responseType": "id_token"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new IdentityProvider
{
AdditionalData = new Dictionary<string, object>
{
{
"responseType" , "id_token"
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityProviders["{identityProvider-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewIdentityProvider()
additionalData := map[string]interface{}{
"responseType" : "id_token",
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
identityProviders, err := graphClient.IdentityProviders().ByIdentityProviderId("identityProvider-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
IdentityProvider identityProvider = new IdentityProvider();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("responseType", "id_token");
identityProvider.setAdditionalData(additionalData);
IdentityProvider result = graphClient.identityProviders().byIdentityProviderId("{identityProvider-id}").patch(identityProvider);
const options = {
authProvider,
};
const client = Client.init(options);
const identityProvider = {
responseType: 'id_token'
};
await client.api('/identityProviders/OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a')
.version('beta')
.update(identityProvider);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\IdentityProvider;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new IdentityProvider();
$additionalData = [
'responseType' => 'id_token',
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->identityProviders()->byIdentityProviderId('identityProvider-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.SignIns
$params = @{
responseType = "id_token"
}
Update-MgBetaIdentityProvider -IdentityProviderId $identityProviderId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.identity_provider import IdentityProvider
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = IdentityProvider(
additional_data = {
"response_type" : "id_token",
}
)
result = await graph_client.identity_providers.by_identity_provider_id('identityProvider-id').patch(request_body)
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content