Skip to content

Commit

Permalink
Merge pull request #303 from silinternational/add-remember-preference…
Browse files Browse the repository at this point in the history
…-in-localstorage

add desiredRememberMeState to local storage
  • Loading branch information
hobbitronics authored Jan 31, 2025
2 parents b2fdcda + 0b9535a commit 96739f0
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
<title>{{ '{mfa:title}'|trans }}</title>

{{ include('header.twig') }}

<script src="{{ remember_me_js_path }}"></script>
</head>
<body class="gradient-bg">
<div class="mdl-layout mdl-layout--fixed-header">
Expand Down Expand Up @@ -74,11 +76,11 @@
</div>

<div>
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
<label for="rememberMe" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
<span class="mdl-checkbox__label">
{{ '{mfa:remember_this}'|trans }}
</span>
<input type="checkbox" name="rememberMe" {% if rememberMePreference == 'checked' %}checked{% endif %} class="mdl-checkbox__input">
<input type="checkbox" id="rememberMe" name="rememberMe" {% if rememberMePreference == 'checked' %}checked{% endif %} class="mdl-checkbox__input">
</label>
</div>
</form>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
<title>{{ '{mfa:title}'|trans }}</title>

{{ include('header.twig') }}

<script src="{{ remember_me_js_path }}"></script>
</head>
<body class="gradient-bg">
<div class="mdl-layout mdl-layout--fixed-header">
Expand Down Expand Up @@ -74,11 +76,11 @@
</div>

<div>
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
<label for="rememberMe" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
<span class="mdl-checkbox__label">
{{ '{mfa:remember_this}'|trans }}
</span>
<input type="checkbox" name="rememberMe" {% if rememberMePreference == 'checked' %}checked{% endif %} class="mdl-checkbox__input">
<input type="checkbox" id="rememberMe" name="rememberMe" {% if rememberMePreference == 'checked' %}checked{% endif %} class="mdl-checkbox__input">
</label>
</div>
</form>
Expand Down
6 changes: 4 additions & 2 deletions modules/material/themes/material/mfa/prompt-for-mfa-totp.twig
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
<title>{{ '{mfa:title}'|trans }}</title>

{{ include('header.twig') }}

<script src="{{ remember_me_js_path }}"></script>
</head>
<body class="gradient-bg">
<div class="mdl-layout mdl-layout--fixed-header">
Expand Down Expand Up @@ -72,11 +74,11 @@
</div>

<div>
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
<label for="rememberMe" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
<span class="mdl-checkbox__label">
{{ '{mfa:remember_this}'|trans }}
</span>
<input type="checkbox" name="rememberMe" {% if rememberMePreference == 'checked' %}checked{% endif %} class="mdl-checkbox__input">
<input type="checkbox" id="rememberMe" name="rememberMe" {% if rememberMePreference == 'checked' %}checked{% endif %} class="mdl-checkbox__input">
</label>
</div>
</form>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@
verifyWebAuthn();
});
</script>

<script src="{{ remember_me_js_path }}"></script>
</head>

<body class="gradient-bg">
Expand Down Expand Up @@ -135,11 +137,11 @@
</div>

<div>
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
<label for="rememberMe" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
<span class="mdl-checkbox__label">
{{ '{mfa:remember_this}'|trans }}
</span>
<input type="checkbox" name="rememberMe" {% if rememberMePreference == 'checked' %}checked{% endif %} class="mdl-checkbox__input">
<input type="checkbox" id="rememberMe" name="rememberMe" {% if rememberMePreference == 'checked' %}checked{% endif %} class="mdl-checkbox__input">
</label>
</div>
</form>
Expand Down
1 change: 1 addition & 0 deletions modules/mfa/public/prompt-for-mfa.php
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@
$t->data['mfa_options'] = $mfaOptions;
$browserJsHash = md5_file(__DIR__ . '/simplewebauthn/browser.js');
$t->data['browser_js_path'] = '/module.php/mfa/simplewebauthn/browser.js?v=' . $browserJsHash;
$t->data['remember_me_js_path'] = '/module.php/mfa/public/remember-me.js';
$t->data['manager_email'] = $state['managerEmail'];
$t->data['other_options'] = $otherOptions;
$t->data['idp_name'] = $t->getEntityDisplayName($state['IdPMetadata']);
Expand Down
14 changes: 14 additions & 0 deletions modules/mfa/public/remember-me.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
document.addEventListener('DOMContentLoaded', function() {
const rememberMeCheckbox = document.getElementById('rememberMe');

if (rememberMeCheckbox) {
const desiredRememberMeState = localStorage.getItem('desiredRememberMeState');
if (desiredRememberMeState === 'true') {
rememberMeCheckbox.checked = true;
}

rememberMeCheckbox.addEventListener('change', function() {
localStorage.setItem('desiredRememberMeState', rememberMeCheckbox.checked);
});
}
});

0 comments on commit 96739f0

Please sign in to comment.