To protect Secret IDs, tokens are stored client-side in session storage. Your ACL token is automatically cleared from storage upon closing your browser window. You can also manually clear your token instead.
+
Tokens are stored client-side in local storage. This will persist your token across sessions. You can manually clear your token here.
diff --git a/ui/tests/acceptance/token-test.js b/ui/tests/acceptance/token-test.js
index 1b48a241b..86c2845ca 100644
--- a/ui/tests/acceptance/token-test.js
+++ b/ui/tests/acceptance/token-test.js
@@ -21,18 +21,18 @@ moduleForAcceptance('Acceptance | tokens', {
},
});
-test('the token form sets the token in session storage', function(assert) {
+test('the token form sets the token in local storage', function(assert) {
const { secretId } = managementToken;
Tokens.visit();
andThen(() => {
- assert.ok(window.sessionStorage.nomadTokenSecret == null, 'No token secret set');
+ assert.ok(window.localStorage.nomadTokenSecret == null, 'No token secret set');
Tokens.secret(secretId).submit();
andThen(() => {
- assert.equal(window.sessionStorage.nomadTokenSecret, secretId, 'Token secret was set');
+ assert.equal(window.localStorage.nomadTokenSecret, secretId, 'Token secret was set');
});
});
});
@@ -91,7 +91,7 @@ test('an error message is shown when authenticating a token fails', function(ass
andThen(() => {
assert.ok(
- window.sessionStorage.nomadTokenSecret == null,
+ window.localStorage.nomadTokenSecret == null,
'Token secret is discarded on failure'
);
assert.ok(Tokens.errorMessage, 'Token error message is shown');
diff --git a/ui/tests/helpers/module-for-acceptance.js b/ui/tests/helpers/module-for-acceptance.js
index 05110ce6d..328e5de58 100644
--- a/ui/tests/helpers/module-for-acceptance.js
+++ b/ui/tests/helpers/module-for-acceptance.js
@@ -6,10 +6,7 @@ import destroyApp from '../helpers/destroy-app';
export default function(name, options = {}) {
module(name, {
beforeEach() {
- // Clear session storage (a side effect of token storage)
- window.sessionStorage.clear();
-
- // Also clear local storage (a side effect of namespaces and regions)
+ // Also clear local storage (a side effect of namespaces, regions, and tokens)
window.localStorage.clear();
this.application = startApp();