Name device used by Synapse Admin and hook up logout button (#113)

* Name device used by Synapse Admin

* Actually logout when the logout button is pressed so that old sessions get deleted

* Fix lint
This commit is contained in:
Aaron Raimist 2021-03-02 04:45:05 -06:00 committed by GitHub
parent 536ffc2fbf
commit 8adab0e927
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -10,6 +10,7 @@ const authProvider = {
type: "m.login.password", type: "m.login.password",
user: username, user: username,
password: password, password: password,
initial_device_display_name: "Synapse Admin",
}), }),
}; };
@ -30,9 +31,24 @@ const authProvider = {
}, },
// called when the user clicks on the logout button // called when the user clicks on the logout button
logout: () => { logout: () => {
console.log("logout "); console.log("logout");
localStorage.removeItem("access_token");
return Promise.resolve(); const logout_api_url =
localStorage.getItem("base_url") + "/_matrix/client/r0/logout";
const token = localStorage.getItem("access_token");
const options = {
method: "POST",
user: {
authenticated: true,
token: `Bearer ${token}`,
},
};
return fetchUtils.fetchJson(logout_api_url, options).then(({ json }) => {
localStorage.removeItem("access_token");
localStorage.removeItem("device_id");
});
}, },
// called when the API returns an error // called when the API returns an error
checkError: ({ status }) => { checkError: ({ status }) => {