diff --git a/src/synapse/authProvider.js b/src/synapse/authProvider.js index 723f155..159add5 100644 --- a/src/synapse/authProvider.js +++ b/src/synapse/authProvider.js @@ -2,7 +2,7 @@ import { fetchUtils } from "react-admin"; const authProvider = { // called when the user attempts to log in - login: ({ base_url, username, password, loginToken }) => { + login: async ({ base_url, username, password, loginToken }) => { // force homeserver for protection in case the form is manipulated base_url = process.env.REACT_APP_SERVER || base_url; @@ -38,15 +38,14 @@ const authProvider = { const decoded_base_url = window.decodeURIComponent(base_url); const login_api_url = decoded_base_url + "/_matrix/client/r0/login"; - return fetchUtils.fetchJson(login_api_url, options).then(({ json }) => { - localStorage.setItem("home_server", json.home_server); - localStorage.setItem("user_id", json.user_id); - localStorage.setItem("access_token", json.access_token); - localStorage.setItem("device_id", json.device_id); - }); + const { json } = await fetchUtils.fetchJson(login_api_url, options); + localStorage.setItem("home_server", json.home_server); + localStorage.setItem("user_id", json.user_id); + localStorage.setItem("access_token", json.access_token); + localStorage.setItem("device_id", json.device_id); }, // called when the user clicks on the logout button - logout: () => { + logout: async () => { console.log("logout"); const logout_api_url = @@ -62,11 +61,9 @@ const authProvider = { }; if (typeof access_token === "string") { - fetchUtils.fetchJson(logout_api_url, options).then(({ json }) => { - localStorage.removeItem("access_token"); - }); + await fetchUtils.fetchJson(logout_api_url, options); + localStorage.removeItem("access_token"); } - return Promise.resolve(); }, // called when the API returns an error checkError: ({ status }) => { diff --git a/src/synapse/authProvider.test.js b/src/synapse/authProvider.test.js index 1fecbc3..c55ece0 100644 --- a/src/synapse/authProvider.test.js +++ b/src/synapse/authProvider.test.js @@ -1,5 +1,3 @@ -import { waitFor } from "@testing-library/react"; - import authProvider from "./authProvider"; describe("authProvider", () => { @@ -93,7 +91,7 @@ describe("authProvider", () => { method: "POST", user: { authenticated: true, token: "Bearer foo" }, }); - waitFor(() => expect(localStorage.getItem("access_token")).toBeNull()); + expect(localStorage.getItem("access_token")).toBeNull(); }); });