This adds a "token manager" which handles storing and checking expired tokens, used for both sessions and CSRF tokens. It removes the old, corresponding functionality for CSRFs which saved things in a file. The result is less crap in the state directory, and active login sessions now survive a Syncthing restart (this really annoyed me). It also adds a boolean on login to create a longer-lived session cookie, which is now possible and useful. Thus we can remain logged in over browser restarts, which was also annoying... :) <img width="1001" alt="Screenshot 2023-12-12 at 09 56 34" src="https://github.com/syncthing/syncthing/assets/125426/55cb20c8-78fc-453e-825d-655b94c8623b"> Best viewed with whitespace-insensitive diff, as a bunch of the auth functions became methods instead of closures which changed indentation.
This commit is contained in:
@@ -103,6 +103,7 @@ angular.module('syncthing.core')
|
||||
$http.post(authUrlbase + '/password', {
|
||||
username: $scope.login.username,
|
||||
password: $scope.login.password,
|
||||
stayLoggedIn: $scope.login.stayLoggedIn,
|
||||
}).then(function () {
|
||||
location.reload();
|
||||
}).catch(function (response) {
|
||||
@@ -3602,7 +3603,7 @@ angular.module('syncthing.core')
|
||||
return n.match !== "";
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// The showModal and hideModal functions are a bandaid for a Bootstrap
|
||||
// bug (see https://github.com/twbs/bootstrap/issues/3902) that causes
|
||||
// multiple consecutively shown or hidden modals to overlap which leads
|
||||
|
||||
Reference in New Issue
Block a user