Support for login remember me

This commit is contained in:
Matteo Gheza 2020-09-26 22:46:04 +02:00
parent 0b480a7b8b
commit d859ee8217
3 changed files with 11 additions and 4 deletions

View File

@ -464,11 +464,18 @@ class user{
return array("autenticated" => $this->authenticated(), "id" => $this->auth->getUserId(), "name" => $this->name(), "full_viewer" => $this->requireRole(Role::FULL_VIEWER), "tester" => $this->requireRole(Role::TESTER), "developer" => $this->requireRole(Role::DEVELOPER));
}
public function login($name, $password, $twofa=null){
public function login($name, $password, $remember_me, $twofa=null){
if(!empty($name)){
if(!empty($password)){
try {
$this->auth->loginWithUsername($name, $password);
if ($remember_me) {
// keep logged in for one year
$rememberDuration = (int) (60 * 60 * 24 * 365.25);
} else {
// do not keep logged in after session ends
$rememberDuration = null;
}
$this->auth->loginWithUsername($name, $password, $rememberDuration);
}
catch (\Delight\Auth\InvalidEmailException $e) {
return ["status" => "error", "code" => 010, "text" => "Wrong email address"];

View File

@ -5,7 +5,7 @@ if($user->authenticated){
}
$error = false;
if(isset($_POST['name']) & isset($_POST['password'])){
$login = $user->login($_POST['name'], $_POST['password']);
$login = $user->login($_POST['name'], $_POST['password'], isset($_POST["remember_me"]));
if($login===true){
$tools->redirect("list.php");
} else {

View File

@ -26,7 +26,7 @@ $("#err").delay(5000).fadeOut(300);
<img alt="VVF" src="{{ urlsoftware }}/risorse/images/logo.png" class="img-resposive"><br><br><br>
<input type="text" name="name" placeholder="{{ 'username'|t }}" required autocomplete="username" autofocus><br><br>
<input type="password" name="password" placeholder="{{ 'password'|t }}" required autocomplete="current-password"><br><br>
<input type="checkbox" name="connesso" value='1' id="connesso" hidden checked><label hidden for='connesso'>{{ 'Stay connected'|t }}</label><br>
<input type="checkbox" name="remember_me" value='1' id="remember_me" checked><label for='remember_me'>{{ 'Stay connected'|t }}</label><br>
<input type="submit" name="login" class="btn btn-lg btn-success" value="{{ 'Login'|t }}">
</form>
</div>