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