2020-05-25 23:38:52 +00:00
|
|
|
import { UseNotifierResult } from "@saleor/hooks/useNotifier";
|
|
|
|
import { commonMessages } from "@saleor/intl";
|
|
|
|
import { IntlShape } from "react-intl";
|
|
|
|
|
2020-07-23 13:37:39 +00:00
|
|
|
export enum TOKEN_STORAGE_KEY {
|
|
|
|
AUTH = "auth",
|
|
|
|
CSRF = "csrf"
|
|
|
|
}
|
2019-09-03 13:42:15 +00:00
|
|
|
|
2020-07-23 13:37:39 +00:00
|
|
|
export const getTokens = () => ({
|
|
|
|
auth:
|
|
|
|
localStorage.getItem(TOKEN_STORAGE_KEY.AUTH) ||
|
|
|
|
sessionStorage.getItem(TOKEN_STORAGE_KEY.AUTH),
|
|
|
|
refresh:
|
|
|
|
localStorage.getItem(TOKEN_STORAGE_KEY.CSRF) ||
|
|
|
|
sessionStorage.getItem(TOKEN_STORAGE_KEY.CSRF)
|
|
|
|
});
|
2019-09-03 13:42:15 +00:00
|
|
|
|
2020-07-23 13:37:39 +00:00
|
|
|
export const setTokens = (auth: string, csrf: string, persist: boolean) => {
|
|
|
|
if (persist) {
|
|
|
|
localStorage.setItem(TOKEN_STORAGE_KEY.AUTH, auth);
|
|
|
|
localStorage.setItem(TOKEN_STORAGE_KEY.CSRF, csrf);
|
|
|
|
} else {
|
|
|
|
sessionStorage.setItem(TOKEN_STORAGE_KEY.AUTH, auth);
|
|
|
|
sessionStorage.setItem(TOKEN_STORAGE_KEY.CSRF, csrf);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
export const setAuthToken = (auth: string, persist: boolean) => {
|
|
|
|
if (persist) {
|
|
|
|
localStorage.setItem(TOKEN_STORAGE_KEY.AUTH, auth);
|
|
|
|
} else {
|
|
|
|
sessionStorage.setItem(TOKEN_STORAGE_KEY.AUTH, auth);
|
|
|
|
}
|
|
|
|
};
|
2019-09-03 13:42:15 +00:00
|
|
|
|
2020-07-23 13:37:39 +00:00
|
|
|
export const removeTokens = () => {
|
|
|
|
localStorage.removeItem(TOKEN_STORAGE_KEY.AUTH);
|
|
|
|
// localStorage.removeItem(TOKEN_STORAGE_KEY.CSRF);
|
|
|
|
sessionStorage.removeItem(TOKEN_STORAGE_KEY.AUTH);
|
|
|
|
// sessionStorage.removeItem(TOKEN_STORAGE_KEY.CSRF);
|
2019-09-03 13:42:15 +00:00
|
|
|
};
|
2020-05-25 23:38:52 +00:00
|
|
|
|
|
|
|
export const displayDemoMessage = (
|
|
|
|
intl: IntlShape,
|
|
|
|
notify: UseNotifierResult
|
|
|
|
) => {
|
|
|
|
notify({
|
|
|
|
text: intl.formatMessage(commonMessages.demo)
|
|
|
|
});
|
|
|
|
};
|