fix(users): Mark user as verified if user logins from SSO (#6694)

This commit is contained in:
Mani Chandra
2024-11-29 15:39:24 +05:30
committed by GitHub
parent b1d1073389
commit 880ad1e883

View File

@ -2345,13 +2345,24 @@ pub async fn sso_sign(
.await?;
// TODO: Use config to handle not found error
let user_from_db = state
let user_from_db: domain::UserFromStorage = state
.global_store
.find_user_by_email(&email.into_inner())
.await
.map(Into::into)
.to_not_found_response(UserErrors::UserNotFound)?;
if !user_from_db.is_verified() {
state
.global_store
.update_user_by_user_id(
user_from_db.get_user_id(),
storage_user::UserUpdate::VerifyUser,
)
.await
.change_context(UserErrors::InternalServerError)?;
}
let next_flow = if let Some(user_from_single_purpose_token) = user_from_single_purpose_token {
let current_flow =
domain::CurrentFlow::new(user_from_single_purpose_token, domain::SPTFlow::SSO.into())?;