1.2. Quarkus 安全架构的核心组件
1.2.1. HttpAuthenticationMechanism 复制链接链接已复制到粘贴板!
quarkus Security 使用 HttpAuthenticationMechanism 从 HTTP 请求中提取身份验证凭据,并将它们委派给 IdentityProvider,以将凭据转换为 SecurityIdentity。例如,凭据可以来自 Authorization 标头、客户端 HTTPS 证书或 Cookie。
当 Quarkus 安全拒绝身份验证请求时,HttpAuthenticationMechanism 会向客户端返回身份验证质询。质询类型取决于身份验证机制。例如,使用 OIDC OpenID Connect (OIDC)授权代码流机制,会生成一个重定向 URL,客户端将返回到 OpenID Connect 供应商进行验证。
1.2.2. IdentityProvider 复制链接链接已复制到粘贴板!
IdentityProvider 验证身份验证凭据,并将它们映射到 SecurityIdentity,后者具有用户名、角色、原始身份验证凭据和其他属性。
您可以为每个经过身份验证的用户注入 SecurityIdentity 实例,以获取经过身份验证的身份信息。
在其他上下文中,可以具有与其他相同信息或部分的并行表示,例如,用于 Jakarta REST 的 SecurityContext 或 JSON Web 令牌(JWT)的 JsonWebToken。
如需更多信息,请参阅 Quarkus 身份提供程序 指南。
1.2.3. SecurityIdentityAugmentor 复制链接链接已复制到粘贴板!
由于 Quarkus Security 是自定义的,例如,您可以将授权角色添加到 SecurityIdentity 中,然后注册并排列一个或多个 SecurityAugmentor 实现。
注册的 SecurityIdentityAugmentor 实例会在安全身份验证过程的最终阶段调用。如需更多信息,请参阅 "Security Tips and Tricks" 指南中的 Security Identity Customization 部分。