1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

Merge pull request #4151 from mw75/master

Use editor path in generating localStorage keys
This commit is contained in:
Nick O'Leary 2023-04-28 15:15:55 +01:00 committed by GitHub
commit 792b310fad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 7 deletions

View File

@ -2,7 +2,7 @@
http://nodered.org http://nodered.org
[![Build Status](https://travis-ci.org/node-red/node-red.svg?branch=master)](https://travis-ci.org/node-red/node-red) [![Build Status](https://github.com/node-red/node-red/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/node-red/node-red/actions?query=branch%3Amaster)
[![Coverage Status](https://coveralls.io/repos/node-red/node-red/badge.svg?branch=master)](https://coveralls.io/r/node-red/node-red?branch=master) [![Coverage Status](https://coveralls.io/repos/node-red/node-red/badge.svg?branch=master)](https://coveralls.io/r/node-red/node-red?branch=master)
Low-code programming for event-driven applications. Low-code programming for event-driven applications.

View File

@ -33,8 +33,8 @@ RED.settings = (function () {
if (!hasLocalStorage()) { if (!hasLocalStorage()) {
return; return;
} }
if (key === "auth-tokens") { if (key.startsWith("auth-tokens")) {
localStorage.setItem(key, JSON.stringify(value)); localStorage.setItem(key+this.authTokensSuffix, JSON.stringify(value));
} else { } else {
RED.utils.setMessageProperty(userSettings,key,value); RED.utils.setMessageProperty(userSettings,key,value);
saveUserSettings(); saveUserSettings();
@ -52,8 +52,8 @@ RED.settings = (function () {
if (!hasLocalStorage()) { if (!hasLocalStorage()) {
return undefined; return undefined;
} }
if (key === "auth-tokens") { if (key.startsWith("auth-tokens")) {
return JSON.parse(localStorage.getItem(key)); return JSON.parse(localStorage.getItem(key+this.authTokensSuffix));
} else { } else {
var v; var v;
try { v = RED.utils.getMessageProperty(userSettings,key); } catch(err) {} try { v = RED.utils.getMessageProperty(userSettings,key); } catch(err) {}
@ -71,8 +71,8 @@ RED.settings = (function () {
if (!hasLocalStorage()) { if (!hasLocalStorage()) {
return; return;
} }
if (key === "auth-tokens") { if (key.startsWith("auth-tokens")) {
localStorage.removeItem(key); localStorage.removeItem(key+this.authTokensSuffix);
} else { } else {
delete userSettings[key]; delete userSettings[key];
saveUserSettings(); saveUserSettings();
@ -99,6 +99,8 @@ RED.settings = (function () {
var init = function (options, done) { var init = function (options, done) {
var accessTokenMatch = /[?&]access_token=(.*?)(?:$|&)/.exec(window.location.search); var accessTokenMatch = /[?&]access_token=(.*?)(?:$|&)/.exec(window.location.search);
var path=window.location.pathname.slice(0,-1);
RED.settings.authTokensSuffix=path.replace(/\//g, '-');
if (accessTokenMatch) { if (accessTokenMatch) {
var accessToken = accessTokenMatch[1]; var accessToken = accessTokenMatch[1];
RED.settings.set("auth-tokens",{access_token: accessToken}); RED.settings.set("auth-tokens",{access_token: accessToken});