SylviaBABY commented on code in PR #6895: URL: https://github.com/apache/apisix/pull/6895#discussion_r854929528
########## docs/zh/latest/plugins/openid-connect.md: ########## @@ -23,45 +29,59 @@ title: openid-connect ## 描述 -OAuth 2 / Open ID Connect(OIDC)插件为 APISIX 提供身份验证和自省功能。 +`openid-connect` 插件通过 [OpenID Connect](https://openid.net/connect/) 为 APISIX 提供身份验证和自省功能。 ## 属性 -| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 | -| ---------------------------------- | ------- | ------ | --------------------- | ------- | ---------------------------------------------- | -| client_id | string | 必须 | | | OAuth 客户端 ID | -| client_secret | string | 必须 | | | OAuth 客户端 secret | -| discovery | string | 必须 | | | 身份服务器的发现端点的 URL | -| scope | string | 可选 | "openid" | | 用于认证 | -| realm | string | 可选 | "apisix" | | 用于认证 | -| bearer_only | boolean | 可选 | false | | 设置为 `true` 将检查请求中带有承载令牌的授权标头 | -| logout_path | string | 可选 | "/logout" | | | -| post_logout_redirect_uri | string | 可选 | | | 调用登出接口后想要跳转的地址 | -| redirect_uri | string | 可选 | "ngx.var.request_uri" | | | -| timeout | integer | 可选 | 3 | [1,...] | 超时时间,单位为秒 | -| ssl_verify | boolean | 可选 | false | | | -| introspection_endpoint | string | 可选 | | | 身份服务器的令牌验证端点的 URL | -| introspection_endpoint_auth_method | string | 可选 | "client_secret_basic" | | 令牌自省的认证方法名称 | -| public_key | string | 可选 | | | 验证令牌的公钥 | -| token_signing_alg_values_expected | string | 可选 | | | 用于对令牌进行签名的算法 | -| set_access_token_header | boolean | 可选 | true | | 在请求头设置访问令牌 | -| access_token_in_authorization_header | boolean | 可选 | false | | 当值为 `true` 时,将访问令牌设置在请求头参数 `Authorization`,否则将使用请求头参数 `X-Access-Token`。| -| set_id_token_header | boolean | 可选 | true | | 是否将 ID 令牌设置到请求头参数 `X-ID-Token` | -| set_userinfo_header | boolean | 可选 | true | | 是否将用户信息对象设置到请求头参数 `X-Userinfo` | +| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 | +| ------------------------------------ | ------- | ------ | --------------------- | ------- | ---------------------------------------------------------------------------------------------------- | +| client_id | string | 是 | | | OAuth 客户端 ID。 | +| client_secret | string | 是 | | | OAuth 客户端 secret。 | +| discovery | string | 是 | | | 身份服务器的发现端点的 URL。 | +| scope | string | 否 | "openid" | | 用于认证的范围。 | +| realm | string | 否 | "apisix" | | 用于认证的领域。 | +| bearer_only | boolean | 否 | false | | 设置为 `true` 时,将检查请求中带有承载令牌的授权标头。 | +| logout_path | string | 否 | "/logout" | | 登出路径。 | +| post_logout_redirect_uri | string | 否 | | | 调用登出接口后想要跳转的 URL。 | +| redirect_uri | string | 否 | "ngx.var.request_uri" | | 身份提供者重定向返回的 URI。 | +| timeout | integer | 否 | 3 | [1,...] | 请求超时时间,单位为秒 | +| ssl_verify | boolean | 否 | false | [true, false] | 当设置为 `true` 时,验证身份提供者的 SSL 证书。 | +| introspection_endpoint | string | 否 | | | 身份服务器的令牌验证端点的 URL。 | +| introspection_endpoint_auth_method | string | 否 | "client_secret_basic" | | 令牌自省的认证方法名称。 | +| public_key | string | 否 | | | 验证令牌的公钥。 | +| token_signing_alg_values_expected | string | 否 | | | 用于对令牌进行签名的算法。 | +| set_access_token_header | boolean | 否 | true | [true, false] | 在请求头设置访问令牌。 | +| access_token_in_authorization_header | boolean | 否 | false | [true, false] | 当值为 `true` 时,将访问令牌设置在请求头参数 `Authorization`,否则将使用请求头参数 `X-Access-Token`。| +| set_id_token_header | boolean | 否 | true | [true, false] | 是否将 ID 令牌设置到请求头参数 `X-ID-Token`。 | +| set_userinfo_header | boolean | 否 | true | [true, false] | 是否将用户信息对象设置到请求头参数 `X-Userinfo`。 | + +## 操作模式 + +`openid-connect` 插件提供三种操作模式: + +1. 可以将**插件**配置为:仅验证预期会出现在请求标头中的访问令牌。在这种模式下,没有令牌或带有无效令牌的请求将被拒绝。这需要将 `bearer_only` 属性设置为 `true` 并配置 `introspection_endpoint` 或 `public_key` 属性。这种操作模式可用于服务到服务的通信,在这种模式下,请求者可以合理地获取和管理有效的令牌。 + +2. 可以将插件配置为:通过 OIDC 授权对没有有效令牌的请求进行身份验证。然后该插件充当 OIDC 依赖方。在这种情况下,认证成功后,该插件可以获得并管理会话 Cookie 中的访问令牌,包含 Cookie 的后续请求将使用访问令牌。你需要将 `bearer_only` 属性设置为 `false` 才可以使用这种模式。这种操作模式可用于支持以下情况:客户端或请求者是通过 Web 浏览器进行交互的用户。 Review Comment: ```suggestion 2. 可以将插件配置为:通过 OIDC 授权对没有有效令牌的请求进行身份验证,其中该插件充当 OIDC 依赖方。在这种情况下,认证成功后,该插件可以获得并管理会话 Cookie 中的访问令牌,包含 Cookie 的后续请求将使用访问令牌。你需要将 `bearer_only` 属性设置为 `false` 才可以使用这种模式。这种操作模式可用于支持以下情况:客户端或请求者是通过 Web 浏览器进行交互的用户。 ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org