80 lines
2.1 KiB
JavaScript
80 lines
2.1 KiB
JavaScript
import { NetworkService } from './network-service';
|
|
import { jwtDecode } from 'jwt-decode';
|
|
|
|
// store
|
|
import { storeGet } from '../store';
|
|
|
|
const API_BASE_URL = process.env.REACT_APP_API_EXECUTION_ADDRESS;
|
|
|
|
export default class AuthenticationService {
|
|
|
|
static wasLoggedIn = () => {
|
|
const token = storeGet.main.getToken();
|
|
return token ?? false;
|
|
};
|
|
|
|
static isExpired = () => {
|
|
const token = storeGet.main.getToken();
|
|
|
|
if (!token) {
|
|
return false;
|
|
}
|
|
|
|
let decoded = jwtDecode(token);
|
|
|
|
if (!decoded) {
|
|
return false;
|
|
}
|
|
|
|
let currentTs = new Date().getTime();
|
|
|
|
if (currentTs >= (decoded.exp * 1000)) {
|
|
return true; //FIXME: try refresh
|
|
}
|
|
|
|
return false;
|
|
};
|
|
|
|
static isLoggedIn = () => {
|
|
const token = storeGet.main.getToken();
|
|
|
|
if (!token) {
|
|
return false;
|
|
}
|
|
|
|
let decoded = jwtDecode(token);
|
|
|
|
if (!decoded) {
|
|
return false;
|
|
}
|
|
|
|
let currentTs = new Date().getTime();
|
|
|
|
if (currentTs >= decoded.exp * 1000) {
|
|
return false; //FIXME: try refresh
|
|
}
|
|
|
|
return true;
|
|
};
|
|
|
|
static login = (loginRequest, callback, errCallback) => {
|
|
NetworkService.unauthorizedPost(`${API_BASE_URL}/user/login`, loginRequest, callback, errCallback);
|
|
};
|
|
|
|
static registerUser = (registerRequest, callback, errCallback) => {
|
|
NetworkService.post(`${API_BASE_URL}/user/register`, registerRequest, callback, errCallback);
|
|
};
|
|
|
|
static forgotPassword = (request, callback, errCallback) => {
|
|
NetworkService.unauthorizedPost(`${API_BASE_URL}/user/reset_password_request/?email=` + request, {}, callback, errCallback);
|
|
}
|
|
|
|
static checkTokenForgotPassword = (request, callback, errCallback) => {
|
|
NetworkService.unauthorizedGet(`${API_BASE_URL}/user/reset_token_check/?token=` + request, {}, callback, errCallback);
|
|
}
|
|
|
|
static changePassword = (request, callback, errCallback) => {
|
|
NetworkService.unauthorizedPatch(`${API_BASE_URL}/user/reset_password`, request, callback, errCallback);
|
|
}
|
|
}
|