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.
Actualice las propiedades de un objeto identityProvider .
Esta API está disponible en las siguientes implementaciones nacionales de nube.
| Servicio global |
Gobierno de EE. UU. L4 |
Us Government L5 (DOD) |
China operada por 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissions
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) |
IdentityProvider.ReadWrite.All |
No disponible. |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
IdentityProvider.ReadWrite.All |
No disponible. |
Importante
En escenarios delegados con cuentas profesionales o educativas, al usuario que ha iniciado sesión se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido.
El administrador del proveedor 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 la autenticación y la autorización. |
| Content-Type |
application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione un objeto JSON con una o varias propiedades que deben actualizarse para un objeto identityProvider o openIdConnectProvider (solo para Azure AD B2C).
identityProvider (objeto)
| 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
|
openIdConnectProvider (objeto)
| 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 |
Una vez que el proveedor OIDC envía 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 se puede usar para ir directamente a la página de inicio de sesión del proveedor de identidades especificado, en lugar de hacer que el usuario realice una selección entre la lista de proveedores de identidades disponibles. |
| metadataUrl |
Cadena |
Dirección URL del documento de metadatos del proveedor de identidades de OpenID Connect. |
| responseMode |
Cadena |
Define el método que se debe usar para enviar los datos del proveedor de identidades personalizado a Azure AD B2C. Se pueden usar los siguientes modos de respuesta:
-
form_post : se recomienda este modo de respuesta para una mejor seguridad. La respuesta se transmite a través del método HTTP POST, con el código o token codificado en el cuerpo mediante 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 a la authorization_endpoint del proveedor de identidades personalizado. Se pueden usar los siguientes tipos de respuesta:
-
code : según el flujo de 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 : se devuelve un token de identificador a Azure AD B2C desde el proveedor de identidades personalizado.
-
token : se devuelve un token de acceso a Azure AD B2C desde el proveedor de identidades personalizado. (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 del 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: Actualización de 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