saleor-dashboard/src/auth/index.tsx

31 lines
805 B
TypeScript
Raw Normal View History

2019-06-19 14:40:52 +00:00
import * as React from "react";
import { User } from "./types/User";
const TOKEN_STORAGE_KEY = "dashboardAuth";
interface UserContext {
login: (username: string, password: string, persist: boolean) => void;
logout: () => void;
user?: User;
}
export const UserContext = React.createContext<UserContext>({
login: undefined,
logout: undefined
});
export const getAuthToken = () =>
localStorage.getItem(TOKEN_STORAGE_KEY) ||
sessionStorage.getItem(TOKEN_STORAGE_KEY);
export const setAuthToken = (token: string, persist: boolean) =>
persist
? localStorage.setItem(TOKEN_STORAGE_KEY, token)
: sessionStorage.setItem(TOKEN_STORAGE_KEY, token);
export const removeAuthToken = () => {
localStorage.removeItem(TOKEN_STORAGE_KEY);
sessionStorage.removeItem(TOKEN_STORAGE_KEY);
};