$tbl = empty($ff->Pman['authTable']) ? 'core_person' : $ff->Pman['authTable'];
$u = DB_DataObject::factory($tbl);
+ $s = DB_DataObject::Factory('core_setting');
+ $oath_require = $s->lookup('core', 'two_factor_authentication_requirement');
+
if (!$u->isAuth()) {
-
- $this->jok(array('id' => 0)); // not logged in..
- exit;
+ $this->jok(array(
+ 'id' => 0,
+ 'require_oath' => empty($oath_require) || $oath_require->val == 1 ? 1 : 0
+ ));
+ exit;
}
+
//die("got here?");
$au = $u->getAuthUser();
}
if(!empty($u->oath_key) && empty($_REQUEST['oath_password'])){
- $this->jerror('LOGIN-BAD','Your account require Two-Factor Authentication');
+ $this->jerror('LOGIN-BAD','Your account requires Two-Factor Authentication');
}
// check if config allows non-owner passwords.
exit;
}
- if(!empty($u->oath_key) && !$u->checkTwoFactorAuthentication(trim($_REQUEST['oath_password'],"\x10"))){
+ if(
+ !empty($u->oath_key) &&
+ !$u->checkTwoFactorAuthentication($_REQUEST['oath_password'])
+ ){
$this->jerror('LOGIN-BAD', 'You typed the wrong Username or Password (3)');
exit;
}