mirror of
https://github.com/dani-garcia/vaultwarden.wiki.git
synced 2026-10-23 07:18:09 +03:00
2fa email fallback need a verified email (#7770)
Co-authored-by: Timshel <timshel@users.noreply.github.com> Co-authored-by: Mathijs van Veluw <black.dex@gmail.com>
This commit is contained in:
3 files changed
+8
-3
No files matched your search
@@ -3038,7 +3038,8 @@ async fn recover_account(
|
|||||||
err!("Organization user must be confirmed for password reset functionality");
|
err!("Organization user must be confirmed for password reset functionality");
|
||||||
}
|
}
|
||||||
|
|
||||||
let fallback_2fa_email = if req.reset_two_factor && CONFIG.email_2fa_auto_fallback() {
|
let fallback_2fa_email =
|
||||||
|
if req.reset_two_factor && CONFIG.mail_enabled() && CONFIG.email_2fa_auto_fallback() && user.verified() {
|
||||||
TwoFactor::find_by_user_and_type(&user.uuid, TwoFactorType::Email as i32, &conn).await.is_none()
|
TwoFactor::find_by_user_and_type(&user.uuid, TwoFactorType::Email as i32, &conn).await.is_none()
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
|
|||||||
+1
-1
@@ -253,7 +253,7 @@ impl LoginJwtClaims {
|
|||||||
premium: true,
|
premium: true,
|
||||||
name: user.name.clone(),
|
name: user.name.clone(),
|
||||||
email: user.email.clone(),
|
email: user.email.clone(),
|
||||||
email_verified: !CONFIG.mail_enabled() || user.verified_at.is_some(),
|
email_verified: user.verified(),
|
||||||
|
|
||||||
// ---
|
// ---
|
||||||
// Disabled these keys to be added to the JWT since they could cause the JWT to get too large
|
// Disabled these keys to be added to the JWT since they could cause the JWT to get too large
|
||||||
|
|||||||
@@ -257,6 +257,10 @@ impl User {
|
|||||||
|
|
||||||
/// Database methods
|
/// Database methods
|
||||||
impl User {
|
impl User {
|
||||||
|
pub fn verified(&self) -> bool {
|
||||||
|
!CONFIG.mail_enabled() || self.verified_at.is_some()
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn to_json(&self, conn: &DbConn) -> Value {
|
pub async fn to_json(&self, conn: &DbConn) -> Value {
|
||||||
let mut orgs_json = Vec::new();
|
let mut orgs_json = Vec::new();
|
||||||
for c in Membership::find_confirmed_by_user(&self.uuid, conn).await {
|
for c in Membership::find_confirmed_by_user(&self.uuid, conn).await {
|
||||||
@@ -299,7 +303,7 @@ impl User {
|
|||||||
"id": self.uuid,
|
"id": self.uuid,
|
||||||
"name": self.name,
|
"name": self.name,
|
||||||
"email": self.email,
|
"email": self.email,
|
||||||
"emailVerified": !CONFIG.mail_enabled() || self.verified_at.is_some(),
|
"emailVerified": self.verified(),
|
||||||
"premium": true,
|
"premium": true,
|
||||||
"premiumFromOrganization": false,
|
"premiumFromOrganization": false,
|
||||||
"culture": "en-US",
|
"culture": "en-US",
|
||||||
|
|||||||
Reference in new issue
Block a user