5.5. UpdateAuthProvider


PATCH /v1/authProviders/{id}

5.5.1. 描述

5.5.2. 参数

5.5.2.1. 路径参数

Expand
Name描述必填defaultpattern

id

 

X

null

 

5.5.2.2. 正文参数

Expand
Name描述必填defaultpattern

正文(body)

V1UpdateAuthProviderRequest

X

  

5.5.3. 返回类型

StorageAuthProvider

5.5.4. 内容类型

  • application/json

5.5.5. 响应

Expand
表 5.5. HTTP 响应代码
代码消息datatype

200

成功响应。

StorageAuthProvider

0

意外错误响应。

RuntimeError

5.5.6. Samples

5.5.7. 常规对象参考

5.5.7.1. AuthProviderRequiredAttribute

RequiredAttribute 允许指定 auth 供应商需要返回 ALL 的一组属性。如果在 Central 发布的令牌的外部声明中缺少任何属性,则对此 IdP 的身份验证请求被视为失败。

Expand
字段名称必填nullable类型描述格式

attributeKey

  

字符串

  

attributeValue

  

字符串

  

5.5.7.2. ProtobufAny

any 包含任意序列化协议缓冲区消息,以及一个描述序列化消息的类型的 URL。

protobuf 库以实用程序函数形式提供对 pack/unpack Any 值的支持,或者对 Any 类型的其他生成的方法提供其他生成的方法。

示例 1: Pack 并在 C++ 中解包信息。

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}
Copy to Clipboard Toggle word wrap

示例 2:打包并解压缩 Java 消息。

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Copy to Clipboard Toggle word wrap
Example 3: Pack and unpack a message in Python.
Copy to Clipboard Toggle word wrap
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Copy to Clipboard Toggle word wrap
Example 4: Pack and unpack a message in Go
Copy to Clipboard Toggle word wrap
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}
Copy to Clipboard Toggle word wrap

默认情况下,protobuf 库提供的软件包方法将使用 'type.googleapis.com/full.type.name' 作为类型 URL,解包方法只使用类型 URL 中的完全限定类型名称,如 "foo.bar.com/x/x/y.z"。

5.5.7.2.1. JSON 表示

any 值的 JSON 表示使用反序列化的、嵌入式消息的常规表示,以及包含类型 URL 的附加字段 @typeExample:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
Copy to Clipboard Toggle word wrap
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}
Copy to Clipboard Toggle word wrap

如果嵌入式消息类型是知名且具有自定义 JSON 表示法,则该表示将被嵌入一个字段值,该值@type 字段外还包含自定义 JSON。示例(用于消息 [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Copy to Clipboard Toggle word wrap
Expand
字段名称必填nullable类型描述格式

typeUrl

  

字符串

唯一标识序列化协议缓冲消息的 URL/资源名称。此字符串必须至少包含一个 \"/\" 字符。URL 路径的最后一部分必须代表类型的完全限定名称(如 path/google.protobuf.Duration)。名称应采用规范形式(例如,未接受前面的 \".\")。在实践中,团队通常会预编译到期望其在任意上下文中使用的所有类型的二进制代码。但是,对于使用方案 httphttps 或无方案的 URL,可以选择设置一个类型服务器,将类型 URL 映射到消息定义,如下所示:* 如果没有提供方案,则假设 https。* URL 上的 HTTP GET 必须以二进制格式生成一个 [google.protobuf.Type][] 值,或者产生错误。* 应用程序允许根据 URL 缓存查找结果,或者预先编译到二进制文件以避免出现任何查找。因此,为了更改类型,二进制兼容性需要保留。(使用版本控制类型名称来管理中断的更改。)注意:这个功能目前在官方 protobuf 版本中可用,它不用于以 type.googleapis.com 开头的类型 URL。自 2023 年 5 月起,没有广泛使用的类型服务器实施,没有计划实施。http 之外的方案(或空方案)可以与实施特定语义一起使用。

 

value

  

byte[]

必须是上述指定类型的有效序列化协议缓冲。

BYTE

5.5.7.3. RuntimeError

Expand
字段名称必填nullable类型描述格式

错误

  

字符串

  

code

  

整数

 

int32

message

  

字符串

  

详情

  

ProtobufAny列表

  

5.5.7.4. StorageAuthProvider

下一标签:15.

Expand
字段名称必填nullable类型描述格式

id

  

字符串

  

名称

  

字符串

  

type

  

字符串

  

uiEndpoint

  

字符串

  

enabled

  

布尔值

  

config

  

字符串映射

config 包含特定于 auth 供应商的配置。每个配置选项都根据给定的 auth 供应商类型而有所不同。OIDC: - \"issuer\":根据 https://openid.net/specs/openid-connect-core-1_0.html#IssuerIdentifier. - \"client_id\": 客户端 ID,根据 https://www.rfc-editor.org/rfc/rfc6749.html#section-2.2. - \"client_secret\":客户端 secret,根据 https://www.rfc-editor.org/rfc/rfc6749.html#section-2.3.1. - \"do_not_use_client_secret\": 设置为 \"true\"。从 \"fragment\", \"post\", 或 \"query\". - \"disable_offline_access_scope\": 设置为 \"true\":如果未发布离线令牌,则设为 \"extra_scopes\": 一个空格分隔的额外范围字符串,以请求,除了 针对 https://www.rfc-editor.org/rfc/rfc6749.html#section-3.3 的 \"openid 配置集 email\" 外。OpenShift Auth:不支持额外的配置选项。User PKI: - \"keys\":可信证书 PEM 编码。SAML: - \"sp_issuer\": 根据 https://datatracker.ietf.org/doc/html/rfc7522#section-3. - \"idp_metadata_url\": 元数据 URL,根据 https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf. - \"idp_issuer\": IdP issuer. - \"idp_cert_pem\": cert PEM 编码 for the IdP 端点。- \"idp_sso_url\": IdP SSO URL. - \"idp_name_id\":IAP: - \"audience\":要使用的受众。

 

loginUrl

  

字符串

登录 URL 将由后端提供,且可能不会在请求中指定。

 

验证

  

布尔值

  

extraUiEndpoints

  

字符串列表

除了 ui_endpoint 外,还允许的 UI 端点。例如,如果登录请求来自其中任何一个,则身份验证请求会将这些请求用于回调 URL,而不是 ui_endpoint。

 

active

  

布尔值

  

requiredAttributes

  

AuthProviderRequiredAttribute列表

  

遍历

  

StorageTraits

  

claimMappings

  

字符串映射

指定将复制到 Rox 令牌属性的 IdP 令牌中的声明。此映射中的每个密钥包含我们要映射的 IdP 令牌的路径。路径用 \".\" 符号分隔。例如,如果 IdP 令牌有效负载类似:{ \"a\": { \"b\" : \"c\" : \"c\", \"d\": true, \"e\": [ \"val2\", \"val3\" ], \"f\": [ true, false, false ], \"g\": 123.0, \"h\": [ 1, 2, 3] } } then \"a.b\" 是一个有效的键,\"a.z\" 则不行。我们支持以下声明类型:* 字符串(path \"a.b\")* bool (path \"a.d\")* 字符串数组(path \"a.e\")* bool 数组(path \"a.f.\")我们不支持以下声明类型:{ complex claims (path \"a\"a\")* float/integer claims (path \"a.g\")* float/integer 数组声明(path \"a.h\") every value 包含一个 Rox 令牌属性名称,我们要向其添加声明。例如,如果 value 是 \"groups\",则声明可以在令牌中的 \"external_user.Attributes.groups\" 中找到。注: 我们只支持 OIDC 身份验证供应商。

 

lastUpdated

  

Date

最后更新表示 auth 提供程序最后一次更新的时间。如果在此时间戳之前由身份验证提供程序发出了令牌,则它们被视为无效。因此,所有客户端都必须重新发布其令牌(通过刷新或额外的登录尝试)。

date-time

5.5.7.5. StorageTraits

Expand
字段名称必填nullable类型描述格式

mutabilityMode

  

TraitsMutabilityMode

 

ALLOW_MUTATE, ALLOW_MUTATE_FORCED,

可见性

  

TraitsVisibility

 

可见、隐藏、

origin

  

TraitsOrigin

 

IMPERATIVE, DEFAULT, DECLARATIVE, DECLARATIVE_ORPHANED,

5.5.7.6. TraitsMutabilityMode

实验性。注意:请参考在时间使用 MutabilityMode 时。它将在以后被替换(ROX-14276)。MutabilityMode 指定是否以及如何修改对象。默认为 ALLOW_MUTATE,意味着没有修改限制,这等同于没有 MutabilityMode 规格。ALLOW_MUTATE_FORCED forbids 所有修改操作,除了删除强制位的对象。

更改此字段的状态时要小心。例如,将对象从 ALLOW_MUTATE 修改为 ALLOW_MUTATE_FORCED,但会禁止以后更改它,包括将其修改回 ALLOW_MUTATE。

Expand
Enum 值

ALLOW_MUTATE

ALLOW_MUTATE_FORCED

5.5.7.7. TraitsOrigin

origin 指定对象的起源。对象可以有四个不同的来源: - IMPERATIVE:对象是通过 API 创建的。默认情况下会假设这个对象。- DEFAULT:对象是默认对象,如默认角色、访问范围等。- DECLARATIVE:对象通过声明性配置创建。- DECLARATIVE_ORPHANED:对象通过声明性配置创建,然后成功删除(例如,它被声明配置引用)创建。- DECLARATIVE_ORPHANED:对象通过声明性配置创建,然后取消删除(例如,它被另一个对象引用),它基于原始对象,应用到对象。不允许使用 DECLARATIVE 原始对象通过 API 修改,只能通过声明性配置进行修改。另外,它们可能无法引用带有 IMPERATIVE 原始卷的对象。不允许使用 DEFAULT origin 的对象通过 API 或声明性配置进行修改。它们可以被所有其他对象引用。允许通过 API 修改具有 IMPERATIVE 来源的对象,而不是通过声明性配置进行修改。它们可能会引用所有其他对象。不允许使用 DECLARATIVE_ORPHANED 原始对象通过 API 或声明性配置进行修改。如果资源在声明配置中重新定义,则 DECLARATIVE_ORPHANED 资源可能会再次变为 DECLARATIVE。使用此源的对象将在不再被其他资源引用后立即从系统中清理。它们可以被所有其他对象引用。

Expand
Enum 值

IMPERATIVE

DEFAULT

DECLARATIVE

DECLARATIVE_ORPHANED

5.5.7.8. TraitsVisibility

EXPERIMENTAL. visibility 允许指定对象是否应该对某些 API 可见。

Expand
Enum 值

VISIBLE

HIDDEN

5.5.7.9. V1UpdateAuthProviderRequest

Expand
字段名称必填nullable类型描述格式

id

  

字符串

  

名称

  

字符串

  

enabled

  

布尔值

  
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat