Rust 密码认证系统的优化与安全考量
1. 移除依赖与测试套件
在项目中,我们已移除了所有对 sha3 的引用,此刻可将其从 Cargo.toml 的依赖列表里去除。测试套件现在应该能顺利通过。
2. 避免阻塞异步执行器
在运行集成测试时,验证用户凭证所需的时间是我们关注的重点。当前,在密码哈希环节我们没有设置跨度,下面来修复这个问题。
以下是相关代码:
//! src/routes/newsletters.rs
// [...]
#[tracing::instrument(name = "Validate credentials")
async fn validate_credentials(
credentials: Credentials,
pool: &PgPool,
) -> Result<uuid::Uuid, PublishError> {
let (user_id, expected_password_hash) = get_stored_credentials(
&credentials.username,
&pool
)
.await
.map_err(PublishError::UnexpectedError)?
.ok_or_else(|| PublishError::AuthError(anyhow::anyhow!("User not found")));
let
超级会员免费看
订阅专栏 解锁全文
1206

被折叠的 条评论
为什么被折叠?



