pub trait PasswordVerifier: Send + Sync {
// Required method
fn verify_password(
&self,
username: &str,
password: &str,
) -> Result<i64, AuthError>;
}Expand description
密码验证器 trait(v0.2.1 新增,修复 Critical S-1)
JwtAuthenticator::authenticate 调用此 trait 验证密码并获取 user_id。
调用方负责实现真实的密码哈希校验(如 bcrypt/argon2)和用户查询。
§示例
ⓘ
use sz_orm_auth::{PasswordVerifier, AuthError};
struct DbPasswordVerifier;
impl PasswordVerifier for DbPasswordVerifier {
fn verify_password(&self, username: &str, password: &str) -> Result<i64, AuthError> {
// 1. 查询数据库获取 stored_hash 和 user_id
// 2. 用 bcrypt::verify(password, &stored_hash) 校验
// 3. 校验通过返回 Ok(user_id),否则 Err(AuthError::InvalidCredentials(...))
}
}Required Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".