@minimaltech/ra-infra
Version:
Minimal Technology ReactJS Infrastructure
33 lines • 1.13 kB
JavaScript
import { LocalStorageKeys } from '../../common';
export class DefaultAuthService {
getUser() {
return JSON.parse(localStorage.getItem(LocalStorageKeys.KEY_AUTH_IDENTITY) || '{}');
}
getRoles() {
const roles = JSON.parse(localStorage.getItem(LocalStorageKeys.KEY_AUTH_PERMISSION) || '[]');
return new Set(roles);
}
getAuth() {
try {
const encryptedToken = localStorage.getItem(LocalStorageKeys.KEY_AUTH_TOKEN) ?? '';
return JSON.parse(encryptedToken);
}
catch (_error) {
return null;
}
}
saveAuth(opts) {
const { token, userId, username } = opts;
localStorage.setItem(LocalStorageKeys.KEY_AUTH_TOKEN, JSON.stringify(token));
localStorage.setItem(LocalStorageKeys.KEY_AUTH_IDENTITY, JSON.stringify({ userId, username }));
}
cleanUp() {
Object.keys(localStorage).forEach(key => {
if (!key.startsWith('@app/auth/')) {
return;
}
localStorage.removeItem(key);
});
}
}
//# sourceMappingURL=default-auth.service.js.map