···134134135135pub enum AuthResult {
136136 WrongIdentityOrPassword,
137137- TwoFactorRequired,
137137+ /// The string here is the email address to create a hint for oauth
138138+ TwoFactorRequired(String),
138139 /// User does not have 2FA enabled, or using an app password, or passes it
139140 ProxyThrough,
140141 TokenCheckFailed(TokenCheckError),
···242243 .await?
243244 }
244245 };
245245-246246- //TODO maybe check password first?
247246248247 if let Some((did, password_scrypt, email, handle)) = account_row {
249248 // Verify password before proceeding to 2FA email step
+1-1
src/oauth_provider.rs
···3636 let identifier = payload.username.clone();
3737 let password = payload.password.clone();
3838 let auth_factor_token = payload.email_otp.clone();
3939- //TODO need to pass in a flag to ignore app passwords for Oauth
40394040+ //TODO need to pass in a flag to ignore app passwords for Oauth
4141 // Run the shared pre-auth logic to validate and check 2FA requirement
4242 match preauth_check(&state, &identifier, &password, auth_factor_token).await {
4343 Ok(result) => match result {