更新 identityProvider (已弃用)
本文内容
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
注意
此标识提供程序 API 已弃用,并将在 2023 年 3 月之后停止返回数据。 请使用新的 标识提供程序 API 。
更新 identityProvider 对象 的属性。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限 。
权限类型
权限(从最低特权到最高特权)
委派(工作或学校帐户)
IdentityProvider.ReadWrite.All
委派(Microsoft 个人帐户)
不支持。
应用程序
IdentityProvider.ReadWrite.All
工作或学校帐户需要属于以下角色之一:
HTTP 请求
PATCH /identityProviders/{id}
名称
说明
Authorization
Bearer {token}。必需。
Content-Type
application/json. Required.
请求正文
在请求正文中,为 JSON 对象提供一个或多个属性,这些属性需要针对identityProvider 或openIdConnectProvider (仅针对 Azure AD B2C) 对象进行更新。
identityProvider 对象
属性
类型
说明
clientId
字符串
应用程序的客户端 ID。这是向标识提供程序注册应用程序时获取的客户端 ID。
clientSecret
字符串
应用程序的客户端密码。这是向标识提供程序注册应用程序时获取的客户端密码。
name
字符串
标识提供程序的显示名称。
type
字符串
标识提供程序类型。对于 B2C 方案: Microsoft Google Amazon 领英 Facebook GitHub Twitter 微博 QQ 微信 OpenIDConnect
openIdConnectProvider 对象
属性
类型
说明
clientId
字符串
应用程序的客户端 ID。这是向标识提供程序注册应用程序时获取的客户端 ID。
clientSecret
字符串
应用程序的客户端密码。这是向标识提供程序注册应用程序时获取的客户端密码。
name
字符串
标识提供程序的显示名称。
type
字符串
标识提供程序类型。 值必须为 OpenIdConnect 。
claimsMapping
claimsMapping
在 OIDC 提供程序将 ID 令牌发送回 Azure AD 后,Azure AD 需要能够将收到的令牌中的声明映射到 Azure AD 识别并使用声明。 此复杂类型捕获该映射。
domainHint
String
域提示可用于直接跳到指定标识提供程序的登录页面,而不是让用户在可用标识提供程序列表中进行选择。
metadataUrl
String
开放 ID 和标识提供程序的元数据连接 URL。
responseMode
String
定义用于将数据从自定义标识提供程序发送回 B2C Azure AD的方法。 可以使用以下响应模式: 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。 (当前 B2C 不支持Azure AD此值)
scope
String
范围定义要从自定义标识提供程序收集的信息和权限。
响应
如果成功,此方法返回 204 No Content 响应代码。 如果失败,将返回 4xx 错误并显示具体详细信息。
示例
示例 1:更新特定 identityProvider
请求
下面展示了示例请求。
PATCH https://graph.microsoft.com/beta/identityProviders/Amazon-OAuth
Content-type: application/json
{
"clientSecret": "1111111111111"
}
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
IdentityProvider identityProvider = new IdentityProvider();
identityProvider.clientSecret = "1111111111111";
graphClient.identityProviders("Amazon-OAuth")
.buildRequest()
.patch(identityProvider);
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var identityProvider = new IdentityProvider
{
ClientSecret = "1111111111111"
};
await graphClient.IdentityProviders["{identityProvider-id}"]
.Request()
.UpdateAsync(identityProvider);
const options = {
authProvider,
};
const client = Client.init(options);
const identityProvider = {
clientSecret: '1111111111111'
};
await client.api('/identityProviders/Amazon-OAuth')
.version('beta')
.update(identityProvider);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/identityProviders/Amazon-OAuth"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphIdentityProvider *identityProvider = [[MSGraphIdentityProvider alloc] init];
[identityProvider setClientSecret:@"1111111111111"];
NSError *error;
NSData *identityProviderData = [identityProvider getSerializedDataWithError:&error];
[urlRequest setHTTPBody:identityProviderData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewIdentityProvider()
clientSecret := "1111111111111"
requestBody.SetClientSecret(&clientSecret)
identityProviderId := "identityProvider-id"
graphClient.IdentityProvidersById(&identityProviderId).Patch(requestBody)
Import-Module Microsoft.Graph.Identity.SignIns
$params = @{
ClientSecret = "1111111111111"
}
Update-MgIdentityProvider -IdentityProviderId $identityProviderId -BodyParameter $params
响应
下面展示了示例响应。
HTTP/1.1 204 No Content
示例 2:仅为 B2C (更新Azure AD openIDConnectProvider )
请求
下面展示了示例请求。
PATCH https://graph.microsoft.com/beta/identityProviders/OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a
Content-type: application/json
{
"responseType": "id_token"
}
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
SocialIdentityProvider identityProviderBase = new SocialIdentityProvider();
identityProviderBase.responseType = EnumSet.of(OpenIdConnectResponseTypes.ID_TOKEN);
graphClient.identity().identityProviders("OIDC-V1-Nam_AD_Test-3e393390-ed2d-4794-97f6-5c999ccc61f7")
.buildRequest()
.patch(identityProviderBase);
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var identityProviderBase = new SocialIdentityProvider
{
ResponseType = OpenIdConnectResponseTypes.Id_token
};
await graphClient.Identity.IdentityProviders["{identityProviderBase-id}"]
.Request()
.UpdateAsync(identityProviderBase);
const options = {
authProvider,
};
const client = Client.init(options);
const identityProviderBase = {
'@odata.type': '#microsoft.graph.socialIdentityProvider',
responseType: 'id_token'
};
await client.api('/identity/identityProviders/OIDC-V1-Nam_AD_Test-3e393390-ed2d-4794-97f6-5c999ccc61f7')
.version('beta')
.update(identityProviderBase);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/identityProviders/OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphIdentityProvider *identityProvider = [[MSGraphIdentityProvider alloc] init];
[identityProvider setResponseType: [MSGraphOpenIdConnectResponseTypes id_token]];
NSError *error;
NSData *identityProviderData = [identityProvider getSerializedDataWithError:&error];
[urlRequest setHTTPBody:identityProviderData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewIdentityProvider()
requestBody.SetAdditionalData(map[string]interface{}{
"responseType": "id_token",
}
identityProviderId := "identityProvider-id"
graphClient.IdentityProvidersById(&identityProviderId).Patch(requestBody)
Import-Module Microsoft.Graph.Identity.SignIns
$params = @{
ResponseType = "id_token"
}
Update-MgIdentityProvider -IdentityProviderId $identityProviderId -BodyParameter $params
响应
下面展示了示例响应。
HTTP/1.1 204 No Content