|
类型
|
default
|
quarkus.oidc.enabled
如果启用了 OIDC 扩展。
环境变量: QUARKUS_OIDC_ENABLED
|
布尔值
|
true
|
quarkus.oidc.default-token-cache-enabled
启用注册 Default TokenIntrospection 和 UserInfo Cache 实现 bean。注: 这仅启用默认的实施。它需要激活配置。请参阅 OidcConfig#tokenCache 。
环境变量: QUARKUS_OIDC_DEFAULT_TOKEN_CACHE_ENABLED
|
布尔值
|
true
|
quarkus.oidc.resolve-tenants-with-issuer
如果 OIDC 租户应使用 bearer 访问令牌的签发者(is )声明值解析。
环境变量: QUARKUS_OIDC_RESOLVE_TENANTS_WITH_ISSUER
|
布尔值
|
false
|
quarkus.oidc.auth-server-url
quarkus.oidc."tenant".auth-server-url
OpenID Connect (OIDC)服务器的基本 URL,例如 https://host:port/auth 。如果您使用 'quarkus-oidc',且只需要公钥验证(公钥 )或证书链验证(certificate-chain ),则不要设置此属性。默认情况下,OIDC 发现端点会在这个 URL 中附加 .well-known/openid-configuration 路径来调用。对于 Keycloak,使用 https://host:port/realms/{realm} ,将 {realm} 替换为 Keycloak 域名。
环境变量: QUARKUS_OIDC_AUTH_SERVER_URL
|
string
| |
quarkus.oidc.discovery-enabled
quarkus.oidc."tenant".discovery-enabled
发现 OIDC 端点。如果没有启用,您必须单独配置 OIDC 端点 URL。
环境变量: QUARKUS_OIDC_DISCOVERY_ENABLED
|
布尔值
|
true
|
quarkus.oidc.registration-path
quarkus.oidc."tenant".registration-path
OIDC 动态客户端注册端点的相对路径或绝对路径或绝对路径 URL。如果 discovery-enabled 为 false ,或必须自定义发现的令牌端点路径。
环境变量: QUARKUS_OIDC_REGISTRATION_PATH
|
string
| |
quarkus.oidc.connection-delay
quarkus.oidc."tenant".connection-delay
尝试初始连接到 OIDC 服务器的持续时间。例如,将持续时间设置为 20S 允许 10 次重试,每 2 秒。此属性仅在创建初始 OIDC 连接时才有效。对于丢弃的连接,请使用 connection-retry-count 属性。
环境变量: QUARKUS_OIDC_CONNECTION_DELAY
|
duration
| |
quarkus.oidc.connection-retry-count
quarkus.oidc."tenant".connection-retry-count
如果临时丢失,重试重新建立现有 OIDC 连接的次数。与 connection-delay 不同,它只适用于初始连接尝试。例如,如果对 OIDC 令牌端点的请求因为连接问题而失败,它将按此设置重试。
环境变量: QUARKUS_OIDC_CONNECTION_RETRY_COUNT
|
int
|
3
|
quarkus.oidc.connection-timeout
quarkus.oidc."tenant".connection-timeout
当前 OIDC 连接请求超时的秒数。
环境变量: QUARKUS_OIDC_CONNECTION_TIMEOUT
|
duration
|
10S
|
quarkus.oidc.use-blocking-dns-lookup
quarkus.oidc."tenant".use-blocking-dns-lookup
是否应该对 worker 线程执行 DNS 查找。当您可以看到由 HTTP 请求到 OIDC 服务器阻止的 Vert.x 事件循环的日志记录警告时,请使用这个选项。
环境变量: QUARKUS_OIDC_USE_BLOCKING_DNS_LOOKUP
|
布尔值
|
false
|
quarkus.oidc.max-pool-size
quarkus.oidc."tenant".max-pool-size
WebClient 使用的连接池的最大大小。
环境变量: QUARKUS_OIDC_MAX_POOL_SIZE
|
int
| |
quarkus.oidc.follow-redirects
quarkus.oidc."tenant".follow-redirects
当 WebClient 获取 HTTP 302 时,自动关注重定向。当此属性只禁用到完全相同原始 URI 的单个重定向时,才允许在重定向请求期间设置了一个或多个 Cookie 时。
环境变量: QUARKUS_OIDC_FOLLOW_REDIRECTS
|
布尔值
|
true
|
quarkus.oidc.token-path
quarkus.oidc."tenant".token-path
签发访问和刷新令牌的 OIDC 令牌端点;指定为相对路径或绝对 URL。如果 discovery-enabled 为 false ,或必须自定义发现的令牌端点路径。
环境变量: QUARKUS_OIDC_TOKEN_PATH
|
string
| |
quarkus.oidc.revoke-path
quarkus.oidc."tenant".revoke-path
OIDC 令牌撤销端点的相对路径或绝对路径 URL。
环境变量: QUARKUS_OIDC_REVOKE_PATH
|
string
| |
quarkus.oidc.client-id
quarkus.oidc."tenant".client-id
应用程序的客户端 ID。每个应用都有一个客户端 ID,用于标识应用程序。如果 application-type 是 service ,且不需要令牌内省,则不需要设置客户端 ID。
环境变量: QUARKUS_OIDC_CLIENT_ID
|
string
| |
quarkus.oidc.client-name
quarkus.oidc."tenant".client-name
应用的客户端名称。它代表应用程序的人类可读描述,您可以在 OpenId Connect 供应商的仪表板中注册应用程序(客户端)时提供。例如,您可以将此属性设置为具有更详细的日志消息,记录给定客户端的活动。
环境变量: QUARKUS_OIDC_CLIENT_NAME
|
string
| |
quarkus.oidc.tenant-id
quarkus.oidc."tenant".tenant-id
唯一的租户标识符。它可以由 TenantConfigResolver 提供程序设置,后者可以动态解析租户配置。
环境变量: QUARKUS_OIDC_TENANT_ID
|
string
| |
quarkus.oidc.tenant-enabled
quarkus.oidc."tenant".tenant-enabled
如果启用了此租户配置。如果没有配置,但支持租户配置的 TenantConfigResolver ,则默认租户会被禁用,或者配置了命名的租户。在这种情况下,您不需要禁用默认租户。
环境变量: QUARKUS_OIDC_TENANT_ENABLED
|
布尔值
|
true
|
quarkus.oidc.application-type
quarkus.oidc."tenant".application-type
应用程序类型,可以是以下 ApplicationType 值之一。
环境变量: QUARKUS_OIDC_APPLICATION_TYPE
|
web-app: WEB_APP 是提供页面(通常是前端应用程序)的客户端。对于这种类型的客户端,Authorization Code 流定义为验证用户的首选方法。
服务 : service 服务是一组受保护的 HTTP 资源的客户端,通常是遵循 RESTful 架构师设计的后端应用程序。 对于这种类型的客户端,Bearer Authorization 方法定义为身份验证和授权用户的首选方法。
混合 : service 和 WEB _APP 客户端的组合。对于这种类型的客户端,如果设置了 Authorization 标头和 Authorization Code Flow - 如果没有设置,则使用 Bearer Authorization 方法。
|
service
|
quarkus.oidc.authorization-path
quarkus.oidc."tenant".authorization-path
OpenID Connect (OIDC)授权端点的相对路径或绝对 URL,用于验证用户。如果 OIDC 发现被禁用,则必须为 web-app 应用程序设置此属性。如果启用了 OIDC 发现,则忽略此属性。
环境变量: QUARKUS_OIDC_AUTHORIZATION_PATH
|
string
| |
quarkus.oidc.user-info-path
quarkus.oidc."tenant".user-info-path
OIDC UserInfo 端点的相对路径或绝对路径 URL。如果 OIDC 发现被禁用并且启用了 authentication.user-info-required 属性,则必须为 web-app 应用程序设置此属性。如果启用了 OIDC 发现,则忽略此属性。
环境变量: QUARKUS_OIDC_USER_INFO_PATH
|
string
| |
quarkus.oidc.introspection-path
quarkus.oidc."tenant".introspection-path
OIDC RFC7662 内省端点的相对路径或绝对路径 URL,这些端点可以内省不透明和 JSON Web 令牌(JWT)令牌。如果禁用了 OIDC 发现,并且必须验证不透明 bearer 访问令牌,或 2)当缓存的 JWK 验证集没有匹配的 JWK 验证集时,必须设置此属性。如果启用了发现,则忽略此属性。
环境变量: QUARKUS_OIDC_INTROSPECTION_PATH
|
string
| |
quarkus.oidc.jwks-path
quarkus.oidc."tenant".jwks-path
返回 JSON Web 密钥验证集的 OIDC JSON Web Key Set (JWKS)端点的相对路径或绝对路径。如果禁用了 OIDC 发现且需要本地 JWT 验证,则应设置此属性。如果启用了发现,则忽略此属性。
环境变量: QUARKUS_OIDC_JWKS_PATH
|
string
| |
quarkus.oidc.end-session-path
quarkus.oidc."tenant".end-session-path
OIDC end_session_endpoint 的相对路径或绝对路径 URL。如果禁用了 OIDC 发现,并且需要对 web-app 应用程序的 RP Initiated Logout 支持,则必须设置此属性。如果启用了发现,则忽略此属性。
环境变量: QUARKUS_OIDC_END_SESSION_PATH
|
string
| |
quarkus.oidc.tenant-paths
quarkus.oidc."tenant".tenant-paths
此租户必须保护的路径。带有最具体路径的租户胜出。有关允许 路径模式的解释,请参阅 OIDC 多租户指南中的配置租户 路径部分。
环境变量: QUARKUS_OIDC_TENANT_PATHS
|
字符串列表
| |
quarkus.oidc.public-key
quarkus.oidc."tenant".public-key
本地 JWT 令牌验证的公钥。当设置此属性时,不会创建 OIDC 服务器连接。
环境变量: QUARKUS_OIDC_PUBLIC_KEY
|
string
| |
quarkus.oidc.allow-token-introspection-cache
quarkus.oidc."tenant".allow-token-introspection-cache
允许缓存令牌内省数据。请注意,启用此属性不启用缓存本身,但仅允许缓存给定租户的令牌内省。如果可以使用默认令牌缓存,请参阅 OidcConfig.TokenCache 来启用它。
环境变量: QUARKUS_OIDC_ALLOW_TOKEN_INTROSPECTION_CACHE
|
布尔值
|
true
|
quarkus.oidc.allow-user-info-cache
quarkus.oidc."tenant".allow-user-info-cache
允许缓存用户信息数据。请注意,启用此属性不启用缓存本身,但只允许缓存给定租户的用户信息数据。如果可以使用默认令牌缓存,请参阅 OidcConfig.TokenCache 来启用它。
环境变量: QUARKUS_OIDC_ALLOW_USER_INFO_CACHE
|
布尔值
|
true
|
quarkus.oidc.cache-user-info-in-idtoken
quarkus.oidc."tenant".cache-user-info-in-idtoken
允许在 IdToken 中简化 UserInfo,而不是将其缓存在令牌缓存中。只有在 OAuth2 供应商没有返回 IdToken 时,才会检查此属性。在生成的 IdToken 中,Inlining UserInfo 允许将其存储在会话 Cookie 中,并避免引入缓存的状态。
如果会话 Cookie 已被加密,并且没有为当前租户禁用 UserInfo 缓存,并且当前租户将 allow-user-info-cache 属性设置为 false ,则启用生成的 IdToken 中的 Inlining UserInfo。
环境变量: QUARKUS_OIDC_CACHE_USER_INFO_IN_IDTOKEN
|
布尔值
| |
quarkus.oidc.provider
quarkus.oidc."tenant".provider
已知的 OpenId Connect 供应商标识符
环境变量: QUARKUS_OIDC_PROVIDER
|
Apple ,discord ,facebook ,github ,google ,linkedin ,mas libpmemn ,microsoft ,slack ,spotify ,strava ,twitch ,twitter ,x
| |
OIDC Dev UI 配置只在 dev 模式中有效
|
类型
|
default
|
quarkus.oidc.devui.grant.type
授权类型,用于获取令牌来测试 OIDC 'service' 应用程序
环境变量: QUARKUS_OIDC_DEVUI_GRANT_TYPE
|
client: 'client_credentials' grant
Password: 'password' grant
Code: 'authorization_code' grant
隐式: "implicit" 授权
| |
quarkus.oidc.devui.grant-options."option-name"
授权选项
环境变量: QUARKUS_OIDC_DEVUI_GRANT_OPTIONS__OPTION_NAME_
|
Map<String,Map<String,String>>
| |
quarkus.oidc.devui.web-client-timeout
WebClient 超时。使用此属性配置 Dev UI 处理程序使用的 HTTP 客户端在从 OpenId Connect Provider 请求令牌并将其发送到服务端点时,将等待响应。
环境变量: QUARKUS_OIDC_DEVUI_WEB_CLIENT_TIMEOUT
|
duration
|
4S
|
HTTP 代理配置
|
类型
|
default
|
quarkus.oidc.proxy.host
quarkus.oidc."tenant".proxy.host
代理的主机名或 IP 地址。 注: 如果 OIDC 适配器需要代理与 OIDC 服务器(Provider)通信,请将此值设置为以启用代理的使用。
环境变量: QUARKUS_OIDC_PROXY_HOST
|
string
| |
quarkus.oidc.proxy.port
quarkus.oidc."tenant".proxy.port
代理的端口号。默认值为 80 。
环境变量: QUARKUS_OIDC_PROXY_PORT
|
int
|
80
|
quarkus.oidc.proxy.username
quarkus.oidc."tenant".proxy.username
如果代理需要身份验证,则用户名。
环境变量: QUARKUS_OIDC_PROXY_USERNAME
|
string
| |
quarkus.oidc.proxy.password
quarkus.oidc."tenant".proxy.password
如果代理需要身份验证,则密码。
环境变量: QUARKUS_OIDC_PROXY_PASSWORD
|
string
| |
TLS 配置
|
类型
|
default
|
quarkus.oidc.tls.tls-configuration-name
quarkus.oidc."tenant".tls.tls-configuration-name
要使用的 TLS 配置的名称。
如果配置了名称,它会使用来自 quarkus.tls.<name& gt; configured to name 的配置,但没有找到该名称的 TLS 配置,然后会抛出错误。
默认 TLS 配置 不会被使用。
环境变量: QUARKUS_OIDC_TLS_TLS_CONFIGURATION_NAME
|
string
| |
OIDC 客户端用来访问 OIDC 令牌和其他安全端点的不同身份验证选项
|
类型
|
default
|
quarkus.oidc.credentials.secret
quarkus.oidc."tenant".credentials.secret
client_secret_basic 身份验证方法使用的客户端 secret。必须设置,除非需要在 client-secret 或 jwt 客户端身份验证中设置 secret。您可以使用 client-secret.value ,但这两个属性都是互斥的。
环境变量: QUARKUS_OIDC_CREDENTIALS_SECRET
|
string
| |
quarkus.oidc.credentials.client-secret.value
quarkus.oidc."tenant".credentials.client-secret.value
客户端机密值。如果设置了 credentials.secret ,则忽略这个值。必须设置,除非需要在 client-secret 或 jwt 客户端身份验证中设置 secret。
环境变量: QUARKUS_OIDC_CREDENTIALS_CLIENT_SECRET_VALUE
|
string
| |
quarkus.oidc.credentials.client-secret.provider.name
quarkus.oidc."tenant".credentials.client-secret.provider.name
CredentialsProvider bean 名称,只有在注册了多个 CredentialsProvider 时才应设置
环境变量: QUARKUS_OIDC_CREDENTIALS_CLIENT_SECRET_PROVIDER_NAME
|
string
| |
quarkus.oidc.credentials.client-secret.provider.keyring-name
quarkus.oidc."tenant".credentials.client-secret.provider.keyring-name
CredentialsProvider 密钥环名称。只有在使用的 CredentialsProvider 需要密钥环名称来查找 secret 时,才需要密钥环名称,这通常是当一个 CredentialsProvider 被多个扩展共享时,才需要多个扩展从更多动态源(如 vault 实例或 secret manager)检索凭证时。
环境变量: QUARKUS_OIDC_CREDENTIALS_CLIENT_SECRET_PROVIDER_KEYRING_NAME
|
string
| |
quarkus.oidc.credentials.client-secret.provider.key
quarkus.oidc."tenant".credentials.client-secret.provider.key
CredentialsProvider 客户端 secret 密钥
环境变量: QUARKUS_OIDC_CREDENTIALS_CLIENT_SECRET_PROVIDER_KEY
|
string
| |
quarkus.oidc.credentials.client-secret.method
quarkus.oidc."tenant".credentials.client-secret.method
身份验证方法。如果设置了 clientSecret.value secret,则此方法默认是 基本的 。
环境变量: QUARKUS_OIDC_CREDENTIALS_CLIENT_SECRET_METHOD
|
基本:client_secret_basic (默认):客户端 ID 和 secret 使用 HTTP 授权基本方案提交。
post:client_secret_post :客户端 ID 和 secret 作为 client_id 和 client_secret 表单参数提交。
post-jwt:client_secret_jwt : 客户端 ID 和生成的 JWT secret 作为 client_id 和 client_secret 形式参数提交。
query :客户端 ID 和 secret 作为 HTTP 查询参数提交。这个选项只支持 OIDC 扩展。
| |
quarkus.oidc.credentials.jwt.source
quarkus.oidc."tenant".credentials.jwt.source
JWT 令牌源:OIDC 供应商客户端或现有的 JWT bearer 令牌。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_SOURCE
|
Client: JWT 令牌由 OIDC 供应商客户端生成,以支持 client_secret_jwt 和 private_key_jwt 身份验证方法。
bearer: JWT bearer 令牌用作客户端断言 :https://www.rfc-editor.org/rfc/rfc7523#section-2.2。
|
client
|
quarkus.oidc.credentials.jwt.token-path
quarkus.oidc."tenant".credentials.jwt.token-path
具有 JWT bearer 令牌(应用作客户端断言)的文件路径。此路径只能在 JWT 源(source () )设置为 Source"BEARER 时设置。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_TOKEN_PATH
|
path
| |
quarkus.oidc.credentials.jwt.secret
quarkus.oidc."tenant".credentials.jwt.secret
如果提供,则表示 JWT 使用 secret 密钥进行了签名。它与键 , key -file 和 key-store 属性相互排斥。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_SECRET
|
string
| |
quarkus.oidc.credentials.jwt.secret-provider.name
quarkus.oidc."tenant".credentials.jwt.secret-provider.name
CredentialsProvider bean 名称,只有在注册了多个 CredentialsProvider 时才应设置
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_SECRET_PROVIDER_NAME
|
string
| |
quarkus.oidc.credentials.jwt.secret-provider.keyring-name
quarkus.oidc."tenant".credentials.jwt.secret-provider.keyring-name
CredentialsProvider 密钥环名称。只有在使用的 CredentialsProvider 需要密钥环名称来查找 secret 时,才需要密钥环名称,这通常是当一个 CredentialsProvider 被多个扩展共享时,才需要多个扩展从更多动态源(如 vault 实例或 secret manager)检索凭证时。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_SECRET_PROVIDER_KEYRING_NAME
|
string
| |
quarkus.oidc.credentials.jwt.secret-provider.key
quarkus.oidc."tenant".credentials.jwt.secret-provider.key
CredentialsProvider 客户端 secret 密钥
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_SECRET_PROVIDER_KEY
|
string
| |
quarkus.oidc.credentials.jwt.key
quarkus.oidc."tenant".credentials.jwt.key
私钥的字符串表示。如果提供,则表示 JWT 是使用 PEM 或 JWK 格式的私钥签名的。它与 secret 、key-file 和 key-store 属性相互排斥。您可以使用 signature-algorithm 属性覆盖默认的密钥算法 RS256 。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_KEY
|
string
| |
quarkus.oidc.credentials.jwt.key-file
quarkus.oidc."tenant".credentials.jwt.key-file
如果提供,则表示 JWT 是使用 PEM 或 JWK 格式的私钥签名的。它与 secret 、key 和 key-store 属性相互排斥。您可以使用 signature-algorithm 属性覆盖默认的密钥算法 RS256 。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_KEY_FILE
|
string
| |
quarkus.oidc.credentials.jwt.key-store-file
quarkus.oidc."tenant".credentials.jwt.key-store-file
如果提供,则表示 JWT 使用密钥存储中的私钥签名。它与 secret 、key 和 key-file 属性相互排斥。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_KEY_STORE_FILE
|
string
| |
quarkus.oidc.credentials.jwt.key-store-password
quarkus.oidc."tenant".credentials.jwt.key-store-password
指定密钥存储文件的密码的参数。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_KEY_STORE_PASSWORD
|
string
| |
quarkus.oidc.credentials.jwt.key-id
quarkus.oidc."tenant".credentials.jwt.key-id
私钥 ID 或别名。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_KEY_ID
|
string
| |
quarkus.oidc.credentials.jwt.key-password
quarkus.oidc."tenant".credentials.jwt.key-password
私钥密码。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_KEY_PASSWORD
|
string
| |
quarkus.oidc.credentials.jwt.audience
quarkus.oidc."tenant".credentials.jwt.audience
JWT 受众(ud )声明值。默认情况下,audience 设置为 OpenId Connect Provider 的令牌端点的地址。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_AUDIENCE
|
string
| |
quarkus.oidc.credentials.jwt.token-key-id
quarkus.oidc."tenant".credentials.jwt.token-key-id
添加为 JWT kid 标头的签名密钥标识符。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_TOKEN_KEY_ID
|
string
| |
quarkus.oidc.credentials.jwt.issuer
quarkus.oidc."tenant".credentials.jwt.issuer
添加为 JWT 的签名密钥的签发者 是s 声明。默认值为客户端 ID。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_ISSUER
|
string
| |
quarkus.oidc.credentials.jwt.subject
quarkus.oidc."tenant".credentials.jwt.subject
添加为 JWT 子 声明的签名密钥的主题。默认值是客户端 ID。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_SUBJECT
|
string
| |
quarkus.oidc.credentials.jwt.claims."claim-name"
quarkus.oidc."tenant".credentials.jwt.claims."claim-name"
其他声明.
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_CLAIMS__CLAIM_NAME_
|
Map<String,String>
| |
quarkus.oidc.credentials.jwt.signature-algorithm
quarkus.oidc."tenant".credentials.jwt.signature-algorithm
用于 key-file 属性的签名算法。支持的值有: RS256 (默认)、RS384 、RS512 、PS256 、PS384 、PS512 、ES256、ES256 、ES384 、ES512、ES512 、ES512、ESS256 、HS384 、HS512 .
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_SIGNATURE_ALGORITHM
|
string
| |
quarkus.oidc.credentials.jwt.lifespan
quarkus.oidc."tenant".credentials.jwt.lifespan
JWT 生命周期(以秒为单位)。这个值添加到发出 JWT 的时间,以计算过期时间。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_LIFESPAN
|
int
|
10
|
quarkus.oidc.credentials.jwt.assertion
quarkus.oidc."tenant".credentials.jwt.assertion
如果为 true,则客户端身份验证令牌是 JWT bearer 授权断言。不生成 'client_assertion' 和 'client_assertion_type' 表单属性,而是只生成 'assertion'。这个选项只支持 OIDC 客户端扩展。
环境变量: QUARKUS_OIDC_CREDENTIALS_JWT_ASSERTION
|
布尔值
|
false
|
Optional introspection endpoint-specific basic authentication configuration
|
类型
|
default
|
quarkus.oidc.introspection-credentials.name
quarkus.oidc."tenant".introspection-credentials.name
Name
环境变量: QUARKUS_OIDC_INTROSPECTION_CREDENTIALS_NAME
|
string
| |
quarkus.oidc.introspection-credentials.secret
quarkus.oidc."tenant".introspection-credentials.secret
Secret
环境变量: QUARKUS_OIDC_INTROSPECTION_CREDENTIALS_SECRET
|
string
| |
quarkus.oidc.introspection-credentials.include-client-id
quarkus.oidc."tenant".introspection-credentials.include-client-id
包含使用 quarkus.oidc.client-id 配置的 OpenId Connect Client ID。
环境变量: QUARKUS_OIDC_INTROSPECTION_CREDENTIALS_INCLUDE_CLIENT_ID
|
布尔值
|
true
|
Configuration 来查找并解析包含角色的自定义声明
|
类型
|
default
|
quarkus.oidc.roles.role-claim-path
quarkus.oidc."tenant".roles.role-claim-path
包含组数组的声明的路径列表。每个路径从顶级 JWT JSON 对象开始,并可以包含多个片段。每个片段仅代表一个 JSON 对象名称,例如:"realm/groups"。使用带命名空间限定声明名称的双引号。如果令牌没有 组 声明,但有一个或多个不同声明中设置的组,则可以使用此属性。
环境变量: QUARKUS_OIDC_ROLES_ROLE_CLAIM_PATH
|
字符串列表
| |
quarkus.oidc.roles.role-claim-separator
quarkus.oidc."tenant".roles.role-claim-separator
包含多个组值的字符串的分隔符。只有在 "role-claim-path" 属性指向值为字符串的一个或多个自定义声明时才使用它。默认情况下会使用单个空格,因为标准 范围 声明可以包含空格分隔的序列。
环境变量: QUARKUS_OIDC_ROLES_ROLE_CLAIM_SEPARATOR
|
string
| |
quarkus.oidc.roles.source
quarkus.oidc."tenant".roles.source
主体角色的源。
环境变量: QUARKUS_OIDC_ROLES_SOURCE
|
idtoken: ID Token - web-app 应用程序的默认值。
accessToken: Access Token - 服务 应用程序的默认值 ; 也可以用作 web-app 应用程序的角色源。
userinfo: User Info
| |
Configuration 用于自定义令牌声明的验证
|
类型
|
default
|
quarkus.oidc.token.issuer
quarkus.oidc."tenant".token.issuer
预期的签发者 是声明 值。此属性覆盖 issuer 属性,它可能会在 OpenId Connect 供应商已知的配置中设置。如果 iss claim 值因提供程序的主机、IP 地址或租户 ID 不同,您可以通过将此属性设置为 任何 来跳过签发者验证,但应仅在其他选项(如配置提供程序使用固定声明值)时执行。
环境变量: QUARKUS_OIDC_TOKEN_ISSUER
|
string
| |
quarkus.oidc.token.audience
quarkus.oidc."tenant".token.audience
预期 受众 的声明值,可以是字符串或字符串数组。请注意,默认情况下,验证了 audience 声明 ID 令牌。ID 令牌使用者必须等于 quarkus.oidc.client-id 属性的值。如果您的 OpenID Connect 供应商在 ID 令牌中设置不同的 audience 声明值,请使用此属性覆盖预期的值。如果您的供应商没有设置 ID 令牌使用者的声明,则将其设置为 任何 。只有在配置了此属性时,才会对访问令牌进行使用者验证。
环境变量: QUARKUS_OIDC_TOKEN_AUDIENCE
|
字符串列表
| |
quarkus.oidc.token.subject-required
quarkus.oidc."tenant".token.subject-required
要求令牌包含 sub (subject)声明,它是当前用户的唯一且永远不会重新分配的标识符。请注意,如果您启用此属性,并且还需要 UserInfo,则必须存在 token 和 UserInfo 子 声明,并相互匹配。
环境变量: QUARKUS_OIDC_TOKEN_SUBJECT_REQUIRED
|
布尔值
|
false
|
quarkus.oidc.token.required-claims."claim-name"
quarkus.oidc."tenant".token.required-claims."claim-name"
所需的声明及其预期值的映射。例如,quarkus.oidc.token.required-claims.org_id = org_xyz 将要求令牌存在,并将 org_id 声明设置为 org_xyz 。字符串是唯一支持的类型。使用 SecurityIdentityAugmentor 验证其他类型的或复杂声明的声明。
环境变量: QUARKUS_OIDC_TOKEN_REQUIRED_CLAIMS__CLAIM_NAME_
|
Map<String,String>
| |
quarkus.oidc.token.token-type
quarkus.oidc."tenant".token.token-type
预期的令牌类型
环境变量: QUARKUS_OIDC_TOKEN_TOKEN_TYPE
|
string
| |
quarkus.oidc.token.lifespan-grace
quarkus.oidc."tenant".token.lifespan-grace
生命周期跨宽限期(以秒为单位)。在检查令牌到期时,允许当前的时间超过令牌过期时间(最多配置的秒数)。在检查令牌颁发时,当前时间最多允许于令牌问题时间超过配置的秒数。
环境变量: QUARKUS_OIDC_TOKEN_LIFESPAN_GRACE
|
int
| |
quarkus.oidc.token.age
quarkus.oidc."tenant".token.age
令牌期限.它可指定自 iat (在)时间后不得经过的秒数。一个小的用于时钟偏移的 leeway,它可以使用 quarkus.oidc.token.lifespan-grace 来配置,以验证令牌到期时间也可以用于验证令牌年龄属性。请注意,设置此属性不会放宽 Bearer 和代码流 JWT 令牌必须具有有效的(exp )到期声明值的要求。设置此属性放松需要的唯一例外是,当注销令牌与后端退出请求发送时,因为当前的 OpenId Connect Back-Channel 规格没有明确要求包含 exp 声明。但是,即使当前注销令牌没有 exp 声明,仍然会在注销令牌包含该令牌时验证 exp 声明。
环境变量: QUARKUS_OIDC_TOKEN_AGE
|
duration
| |
quarkus.oidc.token.issued-at-required
quarkus.oidc."tenant".token.issued-at-required
如果您的 JWT 令牌不包含 iat (issued at)声明,要求该令牌包含 iat (issued at)声明将此属性设置为 false 。请注意,ID 令牌总是需要具有 iat 声明,因此此属性不会影响 ID 令牌验证过程。
环境变量: QUARKUS_OIDC_TOKEN_ISSUED_AT_REQUIRED
|
布尔值
|
true
|
quarkus.oidc.token.principal-claim
quarkus.oidc."tenant".token.principal-claim
包含主体名称的声明的名称。默认情况下,会检查 upn 、preferred_username 和 sub 声明。
环境变量: QUARKUS_OIDC_TOKEN_PRINCIPAL_CLAIM
|
string
| |
quarkus.oidc.token.refresh-expired
quarkus.oidc."tenant".token.refresh-expired
刷新已过期的授权代码流 ID 或访问令牌。如果启用了此属性,如果授权代码 ID 或访问令牌已过期,则会执行刷新令牌请求,如果成功,本地会话会使用新的令牌集合更新。否则,本地会话将无效,用户重定向到 OpenID 提供程序以重新进行身份验证。在这种情况下,如果 OIDC 供应商会话仍然活跃,用户可能无法再次挑战。对于此选项,password _session-age-extension 属性也应设置为非零值,因为刷新令牌当前保留在用户会话中。只有在应用程序类型为 ApplicationType#WEB_APP 时,这个选项才有效。如果配置了 quarkus.oidc.token.refresh-token-time-skew ,则不需要在本例中手动启用此属性。
环境变量: QUARKUS_OIDC_TOKEN_REFRESH_EXPIRED
|
布尔值
|
false
|
quarkus.oidc.token.refresh-token-time-skew
quarkus.oidc."tenant".token.refresh-token-time-skew
刷新令牌时间偏移(以秒为单位)。如果启用了此属性,在检查授权代码 ID 或访问令牌是否应刷新时,配置的秒数会添加到当前时间。如果总和大于授权代码 ID 或访问令牌的过期时间,则会进行刷新。
环境变量: QUARKUS_OIDC_TOKEN_REFRESH_TOKEN_TIME_SKEW
|
duration
| |
quarkus.oidc.token.forced-jwk-refresh-interval
quarkus.oidc."tenant".token.forced-jwk-refresh-interval
强制 JWK 设置刷新间隔(以分钟为单位)。
环境变量: QUARKUS_OIDC_TOKEN_FORCED_JWK_REFRESH_INTERVAL
|
duration
|
10M
|
quarkus.oidc.token.header
quarkus.oidc."tenant".token.header
包含 bearer 令牌的自定义 HTTP 标头。只有在应用程序类型为 ApplicationType"SERVICE 时,这个选项才有效 。
环境变量: QUARKUS_OIDC_TOKEN_HEADER
|
string
| |
quarkus.oidc.token.authorization-scheme
quarkus.oidc."tenant".token.authorization-scheme
HTTP 授权标头方案.
环境变量: QUARKUS_OIDC_TOKEN_AUTHORIZATION_SCHEME
|
string
|
bearer
|
quarkus.oidc.token.signature-algorithm
quarkus.oidc."tenant".token.signature-algorithm
所需的签名算法。OIDC 供应商支持许多签名算法,但如果需要,您可以限制 Quarkus 应用程序来接受仅使用此属性配置的算法签名的令牌。
环境变量: QUARKUS_OIDC_TOKEN_SIGNATURE_ALGORITHM
|
rs256,rs 384 ,rs512 ,ps256 ,ps384 ,ps512 ,es256 ,es384 ,es512 ,edsa
| |
quarkus.oidc.token.decryption-key-location
quarkus.oidc."tenant".token.decryption-key-location
解密密钥位置.JWT 令牌可由 OpenId Connect 提供程序进行内部签名和加密。但是,并不总是能够远程内省此类令牌,因为提供程序可能无法控制私钥。在这种情况下,将此属性设置为指向包含 PEM 或 JSON Web 密钥(JWK)格式的解密私钥的文件。如果没有设置此属性,并且使用了 private_key_jwt 客户端身份验证方法,则用于为客户端身份验证 JWT 令牌签名的私钥也用于解密加密的 ID 令牌。
环境变量: QUARKUS_OIDC_TOKEN_DECRYPTION_KEY_LOCATION
|
string
| |
quarkus.oidc.token.allow-jwt-introspection
quarkus.oidc."tenant".token.allow-jwt-introspection
当没有匹配的 JWK 密钥时,允许远程内省 JWT 令牌。出于向后兼容性的原因,此属性默认设置为 true 。计划在以后的发行版本中,此默认值将更改为 false 。另请注意,如果 JWK 端点 URI 不可用并且内省令牌是唯一验证选项,则此属性将被忽略。
环境变量: QUARKUS_OIDC_TOKEN_ALLOW_JWT_INTROSPECTION
|
布尔值
|
true
|
quarkus.oidc.token.require-jwt-introspection-only
quarkus.oidc."tenant".token.require-jwt-introspection-only
要求仅远程内省 JWT 令牌。
环境变量: QUARKUS_OIDC_TOKEN_REQUIRE_JWT_INTROSPECTION_ONLY
|
布尔值
|
false
|
quarkus.oidc.token.allow-opaque-token-introspection
quarkus.oidc."tenant".token.allow-opaque-token-introspection
允许远程内省不透明令牌。如果只有 JWT 令牌,则将此属性设置为 false 。
环境变量: QUARKUS_OIDC_TOKEN_ALLOW_OPAQUE_TOKEN_INTROSPECTION
|
布尔值
|
true
|
quarkus.oidc.token.customizer-name
quarkus.oidc."tenant".token.customizer-name
令牌自定义器名称。允许选择特定于租户的令牌自定义器作为命名 Bean。在注册自定义令牌时,首选使用 Tenant Feature qualifier 。使用此属性只引用此扩展提供的 TokenCustomizer 实现。
环境变量: QUARKUS_OIDC_TOKEN_CUSTOMIZER_NAME
|
string
| |
quarkus.oidc.token.verify-access-token-with-user-info
quarkus.oidc."tenant".token.verify-access-token-with-user-info
间接验证不透明(二进制)访问令牌是否有效,方法是请求 UserInfo。如果提供商接受此令牌并返回有效的 UserInfo,则不透明访问令牌被视为有效。只有在必须接受不透明访问令牌但 OpenId Connect 供应商没有令牌内省端点时,才应启用此选项。当必须验证 JWT 令牌时,此属性无效。
环境变量: QUARKUS_OIDC_TOKEN_VERIFY_ACCESS_TOKEN_WITH_USER_INFO
|
布尔值
|
false
|
quarkus.oidc.token.binding.certificate
quarkus.oidc."tenant".token.binding.certificate
如果 bearer 访问令牌必须绑定到客户端 mTLS 证书。它要求 JWT 令牌必须包含带有与客户端 mTLS 证书的 SHA256 证书指纹匹配的 SHA256 证书的确认 cnf 声明。
若要不透明令牌,必须在其内省响应中返回 SHA256 证书指纹。
环境变量: QUARKUS_OIDC_TOKEN_BINDING_CERTIFICATE
|
布尔值
|
false
|
RP-initiated, back-channel 和 front-channel logout 配置
|
类型
|
default
|
quarkus.oidc.logout.path
quarkus.oidc."tenant".logout.path
应用程序上 logout 端点的相对路径。如果提供,应用程序可以通过此端点启动注销,并符合 OpenID Connect RP-Initiated Logout 规格。
环境变量: QUARKUS_OIDC_LOGOUT_PATH
|
string
| |
quarkus.oidc.logout.post-logout-path
quarkus.oidc."tenant".logout.post-logout-path
从 OpenID Connect 提供程序注销后,用户应重定向到的应用程序端点的相对路径。此端点 URI 必须在 OpenID Connect Provider 上正确注册,作为有效的重定向 URI。
环境变量: QUARKUS_OIDC_LOGOUT_POST_LOGOUT_PATH
|
string
| |
quarkus.oidc.logout.post-logout-uri-param
quarkus.oidc."tenant".logout.post-logout-uri-param
post logout URI 参数的名称,作为查询参数添加到 logout 重定向 URI。
环境变量: QUARKUS_OIDC_LOGOUT_POST_LOGOUT_URI_PARAM
|
string
|
post_logout_redirect_uri
|
quarkus.oidc.logout.extra-params."query-parameter-name"
quarkus.oidc."tenant".logout.extra-params."query-parameter-name"
添加作为查询参数到 logout 重定向 URI 的额外属性。
环境变量: QUARKUS_OIDC_LOGOUT_EXTRA_PARAMS__QUERY_PARAMETER_NAME_
|
Map<String,String>
| |
quarkus.oidc.logout.backchannel.path
quarkus.oidc."tenant".logout.backchannel.path
应用程序中 Back-Channel Logout 端点的相对路径。它必须以正斜杠 '/' 开头,例如 '/back-channel-logout'。这个值总是相对于 'quarkus.http.root-path' 解析。
环境变量: QUARKUS_OIDC_LOGOUT_BACKCHANNEL_PATH
|
string
| |
quarkus.oidc.logout.backchannel.token-cache-size
quarkus.oidc."tenant".logout.backchannel.token-cache-size
在与会话 Cookie 中存储的 ID 令牌匹配之前可以缓存的最大注销令牌数。
环境变量: QUARKUS_OIDC_LOGOUT_BACKCHANNEL_TOKEN_CACHE_SIZE
|
int
|
10
|
quarkus.oidc.logout.backchannel.token-cache-time-to-live
quarkus.oidc."tenant".logout.backchannel.token-cache-time-to-live
可以缓存注销令牌的分钟数。
环境变量: QUARKUS_OIDC_LOGOUT_BACKCHANNEL_TOKEN_CACHE_TIME_TO_LIVE
|
duration
|
10M
|
quarkus.oidc.logout.backchannel.clean-up-timer-interval
quarkus.oidc."tenant".logout.backchannel.clean-up-timer-interval
令牌缓存计时器间隔。如果设置了此属性,则计时器会定期检查并删除过时的条目。
环境变量: QUARKUS_OIDC_LOGOUT_BACKCHANNEL_CLEAN_UP_TIMER_INTERVAL
|
duration
| |
quarkus.oidc.logout.backchannel.logout-token-key
quarkus.oidc."tenant".logout.backchannel.logout-token-key
注销令牌声明,其值用作缓存令牌的密钥。只有 sub (subject)和 sid (会话 ID)声明才能用作密钥。只有在 OIDC 供应商发布的 ID 令牌没有 子 但具有 sid 声明时,才会将其设置为 sid 。
环境变量: QUARKUS_OIDC_LOGOUT_BACKCHANNEL_LOGOUT_TOKEN_KEY
|
string
|
sub
|
quarkus.oidc.logout.frontchannel.path
quarkus.oidc."tenant".logout.frontchannel.path
应用程序中 Front-Channel Logout 端点的相对路径。
环境变量: QUARKUS_OIDC_LOGOUT_FRONTCHANNEL_PATH
|
string
| |
|
类型
|
default
|
quarkus.oidc.certificate-chain.leaf-certificate-name
quarkus.oidc."tenant".certificate-chain.leaf-certificate-name
leaf 证书的通用名称。如果 trust-store-file 没有导入此证书,则必须设置它。
环境变量: QUARKUS_OIDC_CERTIFICATE_CHAIN_LEAF_CERTIFICATE_NAME
|
string
| |
quarkus.oidc.certificate-chain.trust-store-file
quarkus.oidc."tenant".certificate-chain.trust-store-file
truststore 文件,用于保留可信证书的指纹。
环境变量: QUARKUS_OIDC_CERTIFICATE_CHAIN_TRUST_STORE_FILE
|
path
| |
quarkus.oidc.certificate-chain.trust-store-password
quarkus.oidc."tenant".certificate-chain.trust-store-password
如果使用 trust-store-file 配置,用于指定 truststore 文件的密码的参数。
环境变量: QUARKUS_OIDC_CERTIFICATE_CHAIN_TRUST_STORE_PASSWORD
|
string
| |
quarkus.oidc.certificate-chain.trust-store-cert-alias
quarkus.oidc."tenant".certificate-chain.trust-store-cert-alias
指定信任存储证书的别名的参数。
环境变量: QUARKUS_OIDC_CERTIFICATE_CHAIN_TRUST_STORE_CERT_ALIAS
|
string
| |
quarkus.oidc.certificate-chain.trust-store-file-type
quarkus.oidc."tenant".certificate-chain.trust-store-file-type
指定信任存储文件类型的可选参数。如果未指定,则根据文件名自动检测到类型。
环境变量: QUARKUS_OIDC_CERTIFICATE_CHAIN_TRUST_STORE_FILE_TYPE
|
string
| |
配置用于管理授权代码流
|
类型
|
default
|
quarkus.oidc.authentication.response-mode
quarkus.oidc."tenant".authentication.response-mode
授权代码流响应模式。
环境变量: QUARKUS_OIDC_AUTHENTICATION_RESPONSE_MODE
|
query: Authorization 响应参数在添加到 redirect_uri 的查询字符串中编码
form-post: Authorization 响应参数编码为 HTML 表单值,这些值由浏览器中自动提交并由 HTTP POST 方法使用 application/x-www-form-urlencoded 内容类型传输
|
query
|
quarkus.oidc.authentication.redirect-path
quarkus.oidc."tenant".authentication.redirect-path
计算 redirect_uri 查询参数的相对路径。它必须从正斜杠开始,并附加到请求 URI 的主机和端口。例如,如果当前请求 URI 是 https://localhost:8080/service ,如果此属性设置为 / ,则 redirect_uri 参数被设置为 https://localhost:8080/ ,如果没有配置此属性,则与请求 URI 相同。请注意,如果 restorePathAfterRedirect 设为 true ,则在用户通过身份验证后恢复原始请求 URI。
环境变量: QUARKUS_OIDC_AUTHENTICATION_REDIRECT_PATH
|
string
| |
quarkus.oidc.authentication.restore-path-after-redirect
quarkus.oidc."tenant".authentication.restore-path-after-redirect
如果此属性设为 true ,则在用户重定向到应用程序时恢复身份验证之前使用的原始请求 URI。请注意,如果没有设置 redirectPath 属性,则即使禁用了此属性,也会恢复原始请求 URI。
环境变量: QUARKUS_OIDC_AUTHENTICATION_RESTORE_PATH_AFTER_REDIRECT
|
布尔值
|
false
|
quarkus.oidc.authentication.remove-redirect-parameters
quarkus.oidc."tenant".authentication.remove-redirect-parameters
在用户通过将用户重定向到同一 URI 后,在重定向 URI 上删除由 OIDC 服务器设置 的代码和 状态 ,但没有查询参数。
环境变量: QUARKUS_OIDC_AUTHENTICATION_REMOVE_REDIRECT_PARAMETERS
|
布尔值
|
true
|
quarkus.oidc.authentication.error-path
quarkus.oidc."tenant".authentication.error-path
指向处理 OIDC 授权端点错误响应的公共端点的相对路径。如果用户身份验证失败,OIDC 供应商会返回一个错误和可选的 error _description 参数,而不是预期的 授权代码 。如果设置了此属性,用户会被重定向到端点,这可以返回用户友好的错误描述页面。它必须从正斜杠开始,并附加到请求 URI 的主机和端口。例如,如果它被设置为 /error ,且当前请求 URI 为 https://localhost:8080/callback?error=invalid_scope ,则会将重定向设置为 https://localhost:8080/error?error=invalid_scope。 如果没有设置此属性,则在用户身份验证失败时会返回 HTTP 401 状态。
环境变量: QUARKUS_OIDC_AUTHENTICATION_ERROR_PATH
|
string
| |
quarkus.oidc.authentication.session-expired-path
quarkus.oidc."tenant".authentication.session-expired-path
当会话已过期时,经过身份验证的用户重定向到的公共端点的相对路径。
当 OIDC 会话已过期且会话无法刷新时,用户会被重定向到 OIDC 供应商来重新验证。在这种情况下,用户体验可能并不理想,因为因为返回身份验证质询的原因可能并不明显。
您希望用户再次重定向到公共应用特定页面,则设置此属性。这可通知会话已过期,并建议用户按照到安全初始条目页面的链接来重新验证。
环境变量: QUARKUS_OIDC_AUTHENTICATION_SESSION_EXPIRED_PATH
|
string
| |
quarkus.oidc.authentication.verify-access-token
quarkus.oidc."tenant".authentication.verify-access-token
作为授权代码流的一部分,从 OIDC 供应商获取 ID 和访问令牌。
ID 令牌始终在每个用户请求上验证,作为主令牌,用于代表主体并提取角色。
授权代码流访问令牌旨在传播到下游服务,除非 quarkus.oidc.roles.source 属性设置为 accesstoken ,否则授权决定基于从访问令牌提取的角色。
如果此令牌被注入 JsonWebToken,则也启用了授权代码流访问令牌验证。如果不需要,将此属性设置为 false 。
bearer 访问令牌始终被验证。
环境变量: QUARKUS_OIDC_AUTHENTICATION_VERIFY_ACCESS_TOKEN
|
布尔值
|
当访问令牌作为 JsonWebToken bean 注入时为 true,否则为 false
|
quarkus.oidc.authentication.force-redirect-https-scheme
quarkus.oidc."tenant".authentication.force-redirect-https-scheme
在 SSL/TLS 终止反向代理后面运行时,强制 https 作为 redirect_uri 参数方案。如果启用,此属性也会影响 logout post_logout_redirect_uri 和本地重定向请求。
环境变量: QUARKUS_OIDC_AUTHENTICATION_FORCE_REDIRECT_HTTPS_SCHEME
|
布尔值
|
false
|
quarkus.oidc.authentication.scopes
quarkus.oidc."tenant".authentication.scopes
范围列表
环境变量: QUARKUS_OIDC_AUTHENTICATION_SCOPES
|
字符串列表
| |
quarkus.oidc.authentication.scope-separator
quarkus.oidc."tenant".authentication.scope-separator
配置多个范围时使用的分隔符。默认使用单个空间。
环境变量: QUARKUS_OIDC_AUTHENTICATION_SCOPE_SEPARATOR
|
string
| |
quarkus.oidc.authentication.nonce-required
quarkus.oidc."tenant".authentication.nonce-required
要求 ID 令牌包含非 ce 声明,该声明必须与 非 身份验证请求查询参数匹配。启用此属性可帮助缓解重播攻击。如果您的 OpenId Connect 供应商不支持在 ID 令牌中设置 非ce ,或者与 OAuth2 供应商(如没有提供 ID 令牌的 GitHub )搭配使用,则不要启用此属性。
环境变量: QUARKUS_OIDC_AUTHENTICATION_NONCE_REQUIRED
|
布尔值
|
false
|
quarkus.oidc.authentication.add-openid-scope
quarkus.oidc."tenant".authentication.add-openid-scope
将 openid 范围自动添加到范围列表中。这是 OpenId Connect 供应商所必需的,但不适用于 OAuth2 供应商,如 thread OAuth2,不接受此范围并抛出错误。
环境变量: QUARKUS_OIDC_AUTHENTICATION_ADD_OPENID_SCOPE
|
布尔值
|
true
|
quarkus.oidc.authentication.extra-params."parameter-name"
quarkus.oidc."tenant".authentication.extra-params."parameter-name"
添加作为查询参数到身份验证重定向 URI 的额外属性。
环境变量: QUARKUS_OIDC_AUTHENTICATION_EXTRA_PARAMS__PARAMETER_NAME_
|
Map<String,String>
| |
quarkus.oidc.authentication.forward-params
quarkus.oidc."tenant".authentication.forward-params
请求 URL 查询参数(如果存在)添加到身份验证重定向 URI 中。
环境变量: QUARKUS_OIDC_AUTHENTICATION_FORWARD_PARAMS
|
字符串列表
| |
quarkus.oidc.authentication.cookie-force-secure
quarkus.oidc."tenant".authentication.cookie-force-secure
如果启用了 state、session 和 post logout cookies,则在使用 HTTP 时将其 secure 参数设置为 true 。在 SSL/TLS 终止反向代理后面运行时,可能需要这样做。如果使用 HTTPS,则 Cookie 始终安全,即使此属性设置为 false。
环境变量: QUARKUS_OIDC_AUTHENTICATION_COOKIE_FORCE_SECURE
|
布尔值
|
false
|
quarkus.oidc.authentication.cookie-suffix
quarkus.oidc."tenant".authentication.cookie-suffix
Cookie 名称后缀。例如,默认 OIDC 租户的会话 Cookie 名称为 q_session ,但如果此属性设置为 test ,则可以更改为 q_session_test 。
环境变量: QUARKUS_OIDC_AUTHENTICATION_COOKIE_SUFFIX
|
string
| |
quarkus.oidc.authentication.cookie-path
quarkus.oidc."tenant".authentication.cookie-path
Cookie path 参数值(如果设置了)用于为会话设置 path 参数,state 和 post logout cookies。如果设置,则 Cookie-path-header 属性会首先检查。
环境变量: QUARKUS_OIDC_AUTHENTICATION_COOKIE_PATH
|
string
|
/
|
quarkus.oidc.authentication.cookie-path-header
quarkus.oidc."tenant".authentication.cookie-path-header
Cookie path header 参数值(如果设置)标识传入的 HTTP 标头,其值用于为会话、状态和发布 logout cookie 设置 path 参数。如果缺少标头,则会检查 cookie-path 属性。
环境变量: QUARKUS_OIDC_AUTHENTICATION_COOKIE_PATH_HEADER
|
string
| |
quarkus.oidc.authentication.cookie-domain
quarkus.oidc."tenant".authentication.cookie-domain
Cookie 域参数值(如果设置了)用于会话,state 和 post logout cookies。
环境变量: QUARKUS_OIDC_AUTHENTICATION_COOKIE_DOMAIN
|
string
| |
quarkus.oidc.authentication.cookie-same-site
quarkus.oidc."tenant".authentication.cookie-same-site
会话 Cookie 的 SameSite 属性。
环境变量: QUARKUS_OIDC_AUTHENTICATION_COOKIE_SAME_SITE
|
strict ,lax ,none
|
lax
|
quarkus.oidc.authentication.allow-multiple-code-flows
quarkus.oidc."tenant".authentication.allow-multiple-code-flows
如果存在状态 Cookie,则 状态 查询参数也必须存在,并且当重定向路径与当前路径匹配时,状态 Cookie 名称后缀和状态 Cookie 值必须与状态 查询参数的值匹配。但是,如果从同一浏览器中尝试多个身份验证,例如从不同的浏览器标签页中,则当前可用的状态 cookie 可能代表从另一个标签页启动的身份验证流,而不是与当前请求相关的。禁用此属性,以在同一浏览器中只允许单个授权代码流。
环境变量: QUARKUS_OIDC_AUTHENTICATION_ALLOW_MULTIPLE_CODE_FLOWS
|
布尔值
|
true
|
quarkus.oidc.authentication.fail-on-missing-state-param
quarkus.oidc."tenant".authentication.fail-on-missing-state-param
如果 state cookie 存在但没有状态查询参数,则失败并显示 HTTP 401 错误。
当禁用多个身份验证或者重定向 URL 与原始请求 URL 匹配时,过时的状态 Cookie 可能会保留在之前失败的浏览器缓存中,并可在当前请求中可见。例如,如果 Single-page 应用(SPA)使用 XHR 处理重定向到不支持其授权端点的 CORS 的提供程序,浏览器会阻止它,并且 Quarkus 创建的状态 Cookie 保留在浏览器缓存中。当检测到旧的状态 cookie 时,quarkus 会报告身份验证失败,但找不到匹配的状态查询参数。
报告 HTTP 401 错误通常是在这种情况下执行的正确操作,它会最小化浏览器重定向循环的风险,但还可以 SPA 或 Quarkus 应用程序管理重定向方式识别问题。例如,可能需要启用 java-script-auto-redirect ,或者将供应商重定向到配置了 redirect-path 的 URL,以避免此类错误。
但是,如果上述选项不合适,则将此属性设置为 false 可以帮助。这会导致新的身份验证重定向到 OpenId Connect 供应商。这样做可能会增加浏览器重定向循环的风险。
环境变量: QUARKUS_OIDC_AUTHENTICATION_FAIL_ON_MISSING_STATE_PARAM
|
布尔值
|
false
|
quarkus.oidc.authentication.fail-on-unresolved-kid
quarkus.oidc."tenant".authentication.fail-on-unresolved-kid
如果因为未解析的令牌密钥标识符(kid )在重新身份验证过程中无法验证 ID 令牌签名,则失败并显示 HTTP 401 错误。
当允许多个 tab 身份验证时,此属性可能需要禁用,其中一个标签页会保持过期的 ID 令牌,并带有 kid unresolved,因为验证密钥设置因为另一个标签页启动授权代码流而被刷新。在这种情况下,使用 HTTP 401 错误而不是失败,而是将用户重新验证为使用 HTTP 302 状态重新进行身份验证,可能会提供更好的用户体验。
环境变量: QUARKUS_OIDC_AUTHENTICATION_FAIL_ON_UNRESOLVED_KID
|
布尔值
|
true
|
quarkus.oidc.authentication.user-info-required
quarkus.oidc."tenant".authentication.user-info-required
如果此属性设为 true ,则调用 OIDC UserInfo 端点。
如果 quarkus.oidc.roles.source 设置为 userinfo 或 quarkus.oidc.token.verify-access-token-with-user-info ,则会自动启用此属性,如果将 quarkus.oidc.authentication.id-token-required 设置为 false ,则当前的 OIDC 租户必须支持这些情况下的 UserInfo 端点。
如果检测到 io.quarkus.oidc.UserInfo 注入点,但只有当前的 OIDC 租户支持 UserInfo 端点,它会自动启用。
环境变量: QUARKUS_OIDC_AUTHENTICATION_USER_INFO_REQUIRED
|
布尔值
|
当 UserInfo bean 被注入时为 true,否则为 false
|
quarkus.oidc.authentication.session-age-extension
quarkus.oidc."tenant".authentication.session-age-extension
会话期限扩展(以分钟为单位)。默认情况下,用户会话年龄属性被设置为 ID 令牌生命周期的值,用户会被重定向到 OIDC 供应商,以在会话过期后重新验证。如果此属性设置为非零值,则在会话过期前可以刷新过期的 ID 令牌。如果没有启用 token.refresh-expired 属性,则此属性会被忽略。
环境变量: QUARKUS_OIDC_AUTHENTICATION_SESSION_AGE_EXTENSION
|
duration
|
5M
|
quarkus.oidc.authentication.state-cookie-age
quarkus.oidc."tenant".authentication.state-cookie-age
状态 Cookie 期限(以分钟为单位)。当新的授权代码流重定向在完成此流时,都会创建状态 Cookie。默认情况下,状态 Cookie 名称是唯一的,请参阅 allow-multiple-code-flows 。保持其合理的最小值,如 5 分钟或更少。
环境变量: QUARKUS_OIDC_AUTHENTICATION_STATE_COOKIE_AGE
|
duration
|
5M
|
quarkus.oidc.authentication.java-script-auto-redirect
quarkus.oidc."tenant".authentication.java-script-auto-redirect
如果此属性设为 true ,则返回普通的 302 重定向响应,如果请求是由 JavaScript API (如 XMLHttpRequest 或 Fetch)启动,且当前用户需要(re) authenticated,这可能不适用于单页应用程序(SPA),因为它自动遵循该 OIDC 授权端点通常不支持 CORS。
如果此属性设为 false ,则返回 499 状态代码,以允许 SPA 在找到以 JavaScript 请求身份识别当前请求的请求标头时手动处理重定向。如果启用此属性,则默认预期 X-Requested-With 请求标头,其值设为 JavaScript 或 XMLHttpRequest 。您可以注册自定义 JavaScriptRequestChecker 来执行自定义 JavaScript 请求检查。
环境变量: QUARKUS_OIDC_AUTHENTICATION_JAVA_SCRIPT_AUTO_REDIRECT
|
布尔值
|
true
|
quarkus.oidc.authentication.id-token-required
quarkus.oidc."tenant".authentication.id-token-required
当授权代码流完成后,要求 ID 令牌可用。仅在您需要将授权代码流与 OAuth2 供应商(没有返回 ID 令牌)搭配使用时禁用此属性 - 在这种情况下会生成内部 IdToken。
环境变量: QUARKUS_OIDC_AUTHENTICATION_ID_TOKEN_REQUIRED
|
布尔值
|
true
|
quarkus.oidc.authentication.internal-id-token-lifespan
quarkus.oidc."tenant".authentication.internal-id-token-lifespan
内部 ID 令牌寿命.只有在 OAuth2 供应商没有返回 IdToken 时,才会检查此属性。如果没有配置此属性,则使用 OAuth2 授权代码流响应中的访问令牌 expires_in 属性来设置内部 IdToken 生命周期span。
环境变量: QUARKUS_OIDC_AUTHENTICATION_INTERNAL_ID_TOKEN_LIFESPAN
|
duration
| |
quarkus.oidc.authentication.pkce-required
quarkus.oidc."tenant".authentication.pkce-required
要求使用代码交换证明密钥(PKCE)。
环境变量: QUARKUS_OIDC_AUTHENTICATION_PKCE_REQUIRED
|
布尔值
|
false
|
quarkus.oidc.authentication.state-secret
quarkus.oidc."tenant".authentication.state-secret
用于为代码交换(PKCE)代码验证器(PKCE)代码验证器和/或非代码流状态加密概念验证的 secret。此 secret 应该至少为 32 个字符。
如果没有设置此 secret,则会检查使用 quarkus.oidc.credentials.secret 或 quarkus.oidc.credentials.client-secret.value 配置的客户端 secret。最后,检查可用于 client_ jwt_secret 身份验证的 quarkus.oidc.credentials .jwt.secret。如果客户端 secret 小于 32 个字符,则不会将客户端 secret 用作状态加密 secret。
如果在检查所有这些属性后仍然未初始化,则自动生成该 secret。
如果 secret 长度小于 16 个字符,则报告错误。
环境变量: QUARKUS_OIDC_AUTHENTICATION_STATE_SECRET
|
string
| |
Configuration to complete an authorization code flow grant
|
类型
|
default
|
quarkus.oidc.code-grant.extra-params."parameter-name"
quarkus.oidc."tenant".code-grant.extra-params."parameter-name"
除了所需的 代码和 redirect-uri 参数外,还必须包含其他参数,才能完成授权代码授权请求。
环境变量: QUARKUS_OIDC_CODE_GRANT_EXTRA_PARAMS__PARAMETER_NAME_
|
Map<String,String>
| |
quarkus.oidc.code-grant.headers."header-name"
quarkus.oidc."tenant".code-grant.headers."header-name"
必须发送自定义 HTTP 标头来完成授权代码授权请求。
环境变量: QUARKUS_OIDC_CODE_GRANT_HEADERS__HEADER_NAME_
|
Map<String,String>
| |
Default token state manager configuration
|
类型
|
default
|
quarkus.oidc.token-state-manager.strategy
quarkus.oidc."tenant".token-state-manager.strategy
默认 TokenStateManager 策略。
环境变量: QUARKUS_OIDC_TOKEN_STATE_MANAGER_STRATEGY
|
keep-all-tokens :保留 ID、访问和刷新令牌。
id-token :只保留 ID 令牌
id-refresh-tokens: 仅保留 ID 和刷新令牌
|
keep-all-tokens
|
quarkus.oidc.token-state-manager.split-tokens
quarkus.oidc."tenant".token-state-manager.split-tokens
默认 TokenStateManager 会保留在授权代码中返回的所有令牌(ID、访问和刷新)默认授予单个会话 Cookie 的响应。启用此属性最小化会话 Cookie 大小
环境变量: QUARKUS_OIDC_TOKEN_STATE_MANAGER_SPLIT_TOKENS
|
布尔值
|
false
|
quarkus.oidc.token-state-manager.encryption-required
quarkus.oidc."tenant".token-state-manager.encryption-required
强制 Default TokenStateManager 加密存储令牌的会话 Cookie。
环境变量: QUARKUS_OIDC_TOKEN_STATE_MANAGER_ENCRYPTION_REQUIRED
|
布尔值
|
true
|
quarkus.oidc.token-state-manager.encryption-secret
quarkus.oidc."tenant".token-state-manager.encryption-secret
Default TokenStateManager 用来加密在启用 encryption-required 属性时存储令牌的会话 Cookie 的 secret。
如果没有设置此 secret,则会检查使用 quarkus.oidc.credentials.secret 或 quarkus.oidc.credentials.client-secret.value 配置的客户端 secret。最后,检查可用于 client_ jwt_secret 身份验证的 quarkus.oidc.credentials .jwt.secret。如果应用程序在检查所有这些属性后仍然未初始化,则每次应用程序启动时都会自动生成 secret。在重启之前,生成的机密无法解密会话 Cookie 加密,因此用户需要重新进行身份验证。
用于加密令牌的 secret 的长度应至少为 32 个字符。如果 secret 长度小于 16 个字符,则会记录警告信息。
环境变量: QUARKUS_OIDC_TOKEN_STATE_MANAGER_ENCRYPTION_SECRET
|
string
| |
quarkus.oidc.token-state-manager.encryption-algorithm
quarkus.oidc."tenant".token-state-manager.encryption-algorithm
会话 Cookie 密钥加密算法
环境变量: QUARKUS_OIDC_TOKEN_STATE_MANAGER_ENCRYPTION_ALGORITHM
|
a256-gcmkw: 使用 A256GCMKW 算法和配置的加密 secret 生成并加密内容加密密钥。生成的内容加密密钥将用于加密会话 Cookie 内容。
dir :配置的密钥加密 secret 将用作内容加密密钥来加密会话 Cookie 内容。使用直接加密可避免内容加密密钥生成步骤,并将使加密的会话 Cookie 序列稍短。如果加密 secret 小于 32 个字符,则避免使用直接加密。
|
a256-gcmkw
|
How JsonWebKey 验证密钥应获取和管理
|
类型
|
default
|
quarkus.oidc.jwks.resolve-early
quarkus.oidc."tenant".jwks.resolve-early
如果在连接到 OIDC 供应商时,应该获取 JWK 验证密钥。
禁用此属性会延迟密钥获取,直到必须验证当前令牌的时间。通常,只有在令牌或其他 telated 请求属性提供正确解析密钥所需的额外上下文时,才能需要它。
环境变量: QUARKUS_OIDC_JWKS_RESOLVE_EARLY
|
布尔值
|
true
|
quarkus.oidc.jwks.cache-size
quarkus.oidc."tenant".jwks.cache-size
可以缓存的最大 JWK 密钥数。如果 resolve-early 属性设为 true,则此属性会被忽略。
环境变量: QUARKUS_OIDC_JWKS_CACHE_SIZE
|
int
|
10
|
quarkus.oidc.jwks.cache-time-to-live
quarkus.oidc."tenant".jwks.cache-time-to-live
可以缓存 JWK 密钥的分钟数。如果 resolve-early 属性设为 true,则此属性会被忽略。
环境变量: QUARKUS_OIDC_JWKS_CACHE_TIME_TO_LIVE
|
duration
|
10M
|
quarkus.oidc.jwks.clean-up-timer-interval
quarkus.oidc."tenant".jwks.clean-up-timer-interval
缓存计时器间隔。如果设置了此属性,则计时器会定期检查并删除过时的条目。如果 resolve-early 属性设为 true,则此属性会被忽略。
环境变量: QUARKUS_OIDC_JWKS_CLEAN_UP_TIMER_INTERVAL
|
duration
| |
quarkus.oidc.jwks.try-all
quarkus.oidc."tenant".jwks.try-all
如果没有密钥标识符('kid')或证书指纹('x5t', 'x5t""256')在 JOSE 标头中指定的,且没有键决定,检查与令牌算法('alg')标头值匹配的所有可用密钥。
环境变量: QUARKUS_OIDC_JWKS_TRY_ALL
|
布尔值
|
false
|
Default TokenIntrospection 和 UserInfo Cache 配置
|
类型
|
default
|
quarkus.oidc.token-cache.max-size
最大缓存条目数。如果需要启用缓存,则将其设置为正值。
环境变量: QUARKUS_OIDC_TOKEN_CACHE_MAX_SIZE
|
int
|
0
|
quarkus.oidc.token-cache.time-to-live
给定缓存条目有效的最大时间量。
环境变量: QUARKUS_OIDC_TOKEN_CACHE_TIME_TO_LIVE
|
duration
|
3M
|
quarkus.oidc.token-cache.clean-up-timer-interval
清理计时器间隔。如果设置了此属性,则计时器将定期检查并删除过时的条目。
环境变量: QUARKUS_OIDC_TOKEN_CACHE_CLEAN_UP_TIMER_INTERVAL
|
duration
| |