feat: Optimize password verification by using blocking tasks for improved performance
This commit is contained in:
@@ -78,8 +78,11 @@ impl AuthServiceTrait for AuthService {
|
|||||||
|
|
||||||
match user_repo.query_user_by_email(email.to_string()).await {
|
match user_repo.query_user_by_email(email.to_string()).await {
|
||||||
Ok(user) => {
|
Ok(user) => {
|
||||||
let is_password_correct =
|
let is_password_correct = tokio::task::spawn_blocking({
|
||||||
verify_password(password, &user.password).unwrap_or(false);
|
let password = password.to_owned();
|
||||||
|
let user_password = user.password.clone();
|
||||||
|
move || verify_password(&password, &user_password).unwrap_or(false)
|
||||||
|
}).await.unwrap_or(false);
|
||||||
|
|
||||||
if !is_password_correct {
|
if !is_password_correct {
|
||||||
return common_response(
|
return common_response(
|
||||||
@@ -173,8 +176,11 @@ impl AuthServiceTrait for AuthService {
|
|||||||
|
|
||||||
match user_repo.query_user_by_email(payload.email.clone()).await {
|
match user_repo.query_user_by_email(payload.email.clone()).await {
|
||||||
Ok(user) => {
|
Ok(user) => {
|
||||||
let is_password_correct =
|
let is_password_correct = tokio::task::spawn_blocking({
|
||||||
verify_password(&payload.password, &user.password).unwrap_or(false);
|
let password = payload.password.clone();
|
||||||
|
let user_password = user.password.clone();
|
||||||
|
move || verify_password(&password, &user_password).unwrap_or(false)
|
||||||
|
}).await.unwrap_or(false);
|
||||||
|
|
||||||
if !is_password_correct {
|
if !is_password_correct {
|
||||||
return common_response(
|
return common_response(
|
||||||
|
|||||||
Reference in New Issue
Block a user