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.
Precaución
Esta API de proveedor de identidad está obsoleta y dejará de devolver datos después de marzo de 2023. Utilice la nueva API del proveedor de identidad.
Actualizar las propiedades de un objeto identityProvider .
Esta API está disponible en las siguientes implementaciones en la nube nacional.
| Servicio global |
Administración pública de EE. UU. |
Gobierno de EE. UU. L5 (DOD) |
China operado por 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos 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) |
IdentityProvider.ReadWrite.All |
No disponible. |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
IdentityProvider.ReadWrite.All |
No disponible. |
Importante
Para el acceso delegado con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe tener asignado un rol compatible de Microsoft Entra o un rol personalizado que conceda los permisos necesarios para esta operación.
El Administrador de proveedores de identidades externo es el rol con privilegios mínimos admitido para esta operación.
Solicitud HTTP
PATCH /identityProviders/{id}
| Nombre |
Descripción |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización. |
| Content-Type |
application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione un objeto JSON con una o más propiedades que deben actualizarse para un objeto identityProvider o openIdConnectProvider (solo para Azure AD B2C).
Objeto identityProvider
| Propiedad |
Tipo |
Descripción |
| clientId |
Cadena |
Id. de cliente de la aplicación. Este es el identificador de cliente obtenido al registrar la aplicación con el proveedor de identidades. |
| clientSecret |
Cadena |
El secreto de cliente de la aplicación. Este es el secreto de cliente obtenido al registrar la aplicación con el proveedor de identidades. |
| name |
Cadena |
El nombre para mostrar del proveedor de identidades. |
| type |
Cadena |
El tipo de proveedor de identidades.Para el escenario B2B:- Google
- :Facebook
Para el escenario B2C: Microsoft, Google- , Amazon
- , LinkedIn
- Facebook GitHub
- , Twitter
- ,
- Weibo
- , QQ,
- WeChat
- , OpenIDConnect
|
Objeto openIdConnectProvider
| Propiedad |
Tipo |
Descripción |
| clientId |
Cadena |
Id. de cliente de la aplicación. Este es el identificador de cliente obtenido al registrar la aplicación con el proveedor de identidades. |
| clientSecret |
Cadena |
El secreto de cliente de la aplicación. Este es el secreto de cliente obtenido al registrar la aplicación con el proveedor de identidades. |
| name |
Cadena |
El nombre para mostrar del proveedor de identidades. |
| type |
Cadena |
El tipo de proveedor de identidades. El valor debe ser OpenIdConnect. |
| claimsMapping |
claimsMapping |
Después de que el proveedor OIDC devuelva un token de identificador a Microsoft Entra ID, Microsoft Entra ID debe poder asignar las notificaciones del token recibido a las notificaciones que Microsoft Entra ID reconoce y usa. Este tipo complejo captura esa asignación. |
| domainHint |
Cadena |
La sugerencia de dominio puede utilizarse para ir directamente a la página de inicio de sesión del proveedor de identidad especificado, en lugar de hacer que el usuario haga una selección entre la lista de proveedores de identidad disponibles. |
| metadataUrl |
Cadena |
La dirección URL del documento de metadatos del proveedor de identidad de OpenID Connect. |
| modo de respuesta |
Cadena |
Define el método que se debe usar para devolver los datos del proveedor de identidades personalizado a Azure AD B2C. Se pueden utilizar los siguientes modos de respuesta:
-
form_post : este modo de respuesta se recomienda para una mejor seguridad. La respuesta se transmite a través del método HTTP POST, y el código o token se codifica en el cuerpo utilizando el formato application/x-www-form-urlencoded.
-
query : el código o token se devuelve como parámetro de consulta. |
| responseType |
Cadena |
Describe qué tipo de información se devuelve en la llamada inicial al authorization_endpoint del proveedor de identidades personalizado. Se pueden usar los siguientes tipos de respuesta:
-
code: Según el flujo del código de autorización, se devolverá un código a Azure AD B2C. Azure AD B2C procede a llamar al token_endpoint para intercambiar el código por el token.
-
id_token: el proveedor de identidades personalizadas devuelve un token de identificador a Azure AD B2C.
-
token: el proveedor de identidades personalizado devuelve un token de acceso a Azure AD B2C. (Este valor no es compatible con Azure AD B2C en este momento) |
| ámbito |
Cadena |
El ámbito define la información y los permisos que desea recopilar de su proveedor de identidades personalizado. |
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 204 No Content. Si falla, se devolverá un error 4xx con detalles específicos.
Ejemplos
Ejemplo 1: Actualizar un identityProvider específico
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 204 No Content
Ejemplo 2: Actualizar un openIDConnectProvider específico (solo para Azure AD B2C)
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 204 No Content