命名空间:microsoft.graph
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
警告
此标识提供程序 API 已弃用,并将在 2023 年 3 月之后停止返回数据。 请使用新的 标识提供程序 API。
更新 identityProvider 对象的属性。
此 API 可用于以下国家级云部署。
全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
✅ |
✅ |
✅ |
✅ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 |
最低特权权限 |
更高特权权限 |
委派(工作或学校帐户) |
IdentityProvider.ReadWrite.All |
不可用。 |
委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
应用程序 |
IdentityProvider.ReadWrite.All |
不可用。 |
重要
在具有工作或学校帐户的委托方案中,必须为登录用户分配受支持的Microsoft Entra角色或具有支持的角色权限的自定义角色。
外部标识提供者管理员 是此操作支持的最低特权角色。
HTTP 请求
PATCH /identityProviders/{id}
名称 |
说明 |
Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
Content-Type |
application/json. 必需。 |
请求正文
在请求正文中,为 JSON 对象提供一个或多个属性,这些属性需要为 identityProvider 或 openIdConnectProvider (仅适用于 Azure AD B2C) 对象。
identityProvider 对象
属性 |
类型 |
说明 |
clientId |
字符串 |
应用程序的客户端 ID。 这是向标识提供程序注册应用程序时获取的客户端 ID。 |
clientSecret |
字符串 |
应用程序的客户端密码。 这是向标识提供程序注册应用程序时获取的客户端密码。 |
name |
字符串 |
标识提供程序的显示名称。 |
type |
字符串 |
标识提供程序类型。对于 B2B 方案:- Google
- Facebook
对于 B2C 方案:- Microsoft
- Google
- Amazon
- LinkedIn
- Facebook
- GitHub
- Twitter
- 微博
- QQ
- 微信
- OpenIDConnect
|
openIdConnectProvider 对象
属性 |
类型 |
说明 |
clientId |
字符串 |
应用程序的客户端 ID。 这是向标识提供程序注册应用程序时获取的客户端 ID。 |
clientSecret |
字符串 |
应用程序的客户端密码。 这是向标识提供程序注册应用程序时获取的客户端密码。 |
name |
字符串 |
标识提供程序的显示名称。 |
type |
字符串 |
标识提供程序类型。 该值必须为 OpenIdConnect 。 |
claimsMapping |
claimsMapping |
在 OIDC 提供程序将 ID 令牌发送回Microsoft Entra ID后,Microsoft Entra ID需要能够将收到的令牌中的声明映射到Microsoft Entra ID识别和使用的声明。 此复杂类型捕获该映射。 |
domainHint |
String |
域提示可用于直接跳到指定标识提供者的登录页,而不是让用户在可用标识提供者列表中做出选择。 |
metadataUrl |
String |
OpenID Connect 标识提供者的元数据文档的 URL。 |
responseMode |
String |
定义用于将数据从自定义标识提供者发送回 Azure AD B2C 的方法。 可以使用以下响应模式:
-
form_post :建议使用此响应模式,以获得最佳安全性。 响应通过 HTTP POST 方法传输,代码或令牌使用 application/x-www-form-urlencoded 格式在正文中编码。
-
query :代码或令牌作为查询参数返回。 |
responseType |
String |
描述在初始调用中发送回自定义标识提供者authorization_endpoint的信息类型。 可以使用以下响应类型:
-
code :根据授权代码流,代码将返回到 Azure AD B2C。 Azure AD B2C 继续调用 token_endpoint以交换令牌的代码。
-
id_token :ID 令牌从自定义标识提供者返回到 Azure AD B2C。
-
token :访问令牌从自定义标识提供者返回到 Azure AD B2C。 (目前 Azure AD B2C 不支持此值) |
范围 |
String |
作用域定义要从自定义标识提供者收集的信息和权限。 |
响应
如果成功,此方法返回 204 No Content
响应代码。 如果失败,将返回 4xx
错误并显示具体详细信息。
示例
示例 1:更新特定 identityProvider
请求
以下示例显示了一个请求。
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);
mgc-beta identity-providers patch --identity-provider-id {identityProvider-id} --body '{\
"clientSecret": "1111111111111"\
}\
'
// 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)
响应
以下示例显示了相应的响应。
HTTP/1.1 204 No Content
示例 2:仅为 Azure AD B2C) 更新特定的 openIDConnectProvider (
请求
以下示例显示了一个请求。
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);
mgc-beta identity-providers patch --identity-provider-id {identityProvider-id} --body '{\
"responseType": "id_token"\
}\
'
// 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)
响应
以下示例显示了相应的响应。
HTTP/1.1 204 No Content