更新 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 对象提供一个或多个属性,这些属性需要针对identityProvideropenIdConnectProvider (仅针对 Azure AD B2C) 对象进行更新。

identityProvider 对象

属性 类型 说明
clientId 字符串 应用程序的客户端 ID。这是向标识提供程序注册应用程序时获取的客户端 ID。
clientSecret 字符串 应用程序的客户端密码。这是向标识提供程序注册应用程序时获取的客户端密码。
name 字符串 标识提供程序的显示名称。
type 字符串 标识提供程序类型。
    对于 B2B 方案:
  • Google
  • Facebook
    对于 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);

重要

Microsoft Graph SDK 默认使用 v1.0 版本的 API,并且不支持 beta 版本中提供的所有类型、属性和 API。 有关使用 SDK 访问 beta API 的详细信息,请参阅将 Microsoft Graph SDK 与 beta API 配合使用

有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档

响应

下面展示了示例响应。

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);

重要

Microsoft Graph SDK 默认使用 v1.0 版本的 API,并且不支持 beta 版本中提供的所有类型、属性和 API。 有关使用 SDK 访问 beta API 的详细信息,请参阅将 Microsoft Graph SDK 与 beta API 配合使用

有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档

响应

下面展示了示例响应。

HTTP/1.1 204 No Content