
# OIDCAuthContent
表1OIDCAuthContent 
| 参数                                | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| client_id                         | 是    | String  | Identity Provider中的客户端ID。                                                                                                                                                                                                   |
| client_secret                     | 是    | String  | Identity Provider中的客户端secret。调用查询接口查看插件内容时，该字段会被匿名化处理。                                                                                                                                                                      |
| discovery                         | 是    | String  | Identity Provider开放的服务发现地址。                                                                                                                                                                                                 |
| redirect_api_id                   | 是    | String  | 重定向API的ID。重定向API会与本插件绑定，作为Identity Provider（IdP）重定向回来的入口。用户需要自行将指定的API的URL配置为IdP client的重定向地址，如配置成keycloak的client中的 "Valid redirect URIs" 参数。需要与该插件绑定的其它业务API的路径不能与该redirect_api的路径相同，否则会调用失败。重定向API作为插件功能的一环，在插件生命周期内不能删除。 |
| scope                             | 否    | String  | 授权码流程中应返回的身份验证用户信息，默认值是openid email profile。可以附加其他范围并用空格分隔，例如openid email profile phone。                                                                                                                                    |
| logout_api_id                     | 否    | String  | 登出API的ID。登出API会与本插件绑定，作为用户退出登录的路径，即当用户调用指定的API时退出登录。需要与该插件绑定的其它业务API的路径不能与该登出API的路径相同，否则会调用失败。登出API作为插件功能的一环，在插件生命周期内不能删除。                                                                                                  |
| access_token_expires_in           | 否    | Integer | 访问令牌的过期时间，单位为秒。当从Identity Provider获取的令牌响应信息中没有过期时间时使用该值作为token过期时间，默认为3600秒。                                                                                                                                                |
| jwt_cache_enabled                 | 否    | Boolean | 是否在API网关缓存token认证的认证结果。默认开启。                                                                                                                                                                                                |
| jwks_enabled                      | 否    | Boolean | 是否使用discovery服务发现地址中的jwks_uri来获取公钥进行token校验。当Identity Provider提供了相关的jwk配置时可以设置为true，否则需要自行配置public_key才能进行token校验。默认设置为true。                                                                                                |
| public_key                        | 否    | String  | Token所使用的非对称算法的公钥。格式为pem格式。插件会使用public_key或者Identity Provider的jwk来校验token，即public_key和jwks_enable这两个参数至少有一个需要配置，否则无法校验token。当同时配置了public_key和jwks_enable，插件会使用public_key作为公钥进行校验。                                           |
| redirect_after_logout_uri         | 否    | String  | 当用户调用了该插件的登出API时，页面会重定向到该地址。                                                                                                                                                                                                |
| slient_renew_access_token_enabled | 否    | Boolean | 是否在访问令牌过期时由API网关静默地更新访问令牌。默认静默更新。                                                                                                                                                                                           |
| set_access_token_header_enabled   | 否    | Boolean | 是否将访问令牌设置为Authorization请求头透传到业务后端。默认透传。                                                                                                                                                                                     |
| set_userinfo_header_enabled       | 否    | Boolean | 在授权码流程中，是否将用户信息设置为X-Userinfo请求头透传到业务后端。默认透传。                                                                                                                                                                                |
| auth_header_name                  | 否    | String  | 访问令牌的请求头名称。默认为Authorization。                                                                                                                                                                                                |
   
表2OIDCAuthResp 
| 参数                                | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| client_id                         | 是    | String  | Identity Provider中的客户端ID。                                                                                                                                                                                                   |
| discovery                         | 是    | String  | Identity Provider开放的服务发现地址。                                                                                                                                                                                                 |
| redirect_api_id                   | 是    | String  | 重定向API的ID。重定向API会与本插件绑定，作为Identity Provider（IdP）重定向回来的入口。用户需要自行将指定的API的URL配置为IdP client的重定向地址，如配置成keycloak的client中的 "Valid redirect URIs" 参数。需要与该插件绑定的其它业务API的路径不能与该redirect_api的路径相同，否则会调用失败。重定向API作为插件功能的一环，在插件生命周期内不能删除。 |
| scope                             | 否    | String  | 授权码流程中应返回的身份验证用户信息，默认值是openid email profile。可以附加其他范围并用空格分隔，例如openid email profile phone。                                                                                                                                    |
| logout_api_id                     | 否    | String  | 登出API的ID。登出API会与本插件绑定，作为用户退出登录的路径，即当用户调用指定的API时退出登录。需要与该插件绑定的其它业务API的路径不能与该登出API的路径相同，否则会调用失败。登出API作为插件功能的一环，在插件生命周期内不能删除。                                                                                                  |
| access_token_expires_in           | 否    | Integer | 访问令牌的过期时间，单位为秒。当从Identity Provider获取的令牌响应信息中没有过期时间时使用该值作为token过期时间，默认为3600秒。                                                                                                                                                |
| jwt_cache_enabled                 | 否    | Boolean | 是否在API网关缓存token认证的认证结果。默认开启。                                                                                                                                                                                                |
| jwks_enabled                      | 否    | Boolean | 是否使用discovery服务发现地址中的jwks_uri来获取公钥进行token校验。当Identity Provider提供了相关的jwk配置时可以设置为true，否则需要自行配置public_key才能进行token校验。默认设置为true。                                                                                                |
| public_key                        | 否    | String  | Token所使用的非对称算法的公钥。格式为pem格式。插件会使用public_key或者Identity Provider的jwk来校验token，即public_key和jwks_enable这两个参数至少有一个需要配置，否则无法校验token。当同时配置了public_key和jwks_enable，插件会使用public_key作为公钥进行校验。                                           |
| redirect_after_logout_uri         | 否    | String  | 当用户调用了该插件的登出API时，页面会重定向到该地址。                                                                                                                                                                                                |
| slient_renew_access_token_enabled | 否    | Boolean | 是否在访问令牌过期时由API网关静默地更新访问令牌。默认静默更新。                                                                                                                                                                                           |
| set_access_token_header_enabled   | 否    | Boolean | 是否将访问令牌设置为Authorization请求头透传到业务后端。默认透传。                                                                                                                                                                                     |
| set_userinfo_header_enabled       | 否    | Boolean | 在授权码流程中，是否将用户信息设置为X-Userinfo请求头透传到业务后端。默认透传。                                                                                                                                                                                |
| auth_header_name                  | 否    | String  | 访问令牌的请求头名称。默认为Authorization。                                                                                                                                                                                                |
   
