@openpass/openpass-js-sdk
Version:
OpenPass SSO JavaScript SDK
47 lines • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StorageSessionProvider = exports.SignInStateRepository = void 0;
const config_1 = require("../config");
const STORAGE_KEY = `${config_1.config.SSO_STORAGE_PREFIX}__client_session`;
/**
* Class that manages the state during a sign-in / authentication attempt.
*/
class SignInStateRepository {
constructor(signInStateStorage) {
this.signInStateStorage = signInStateStorage;
}
add(signInState) {
this.signInStateStorage.set(STORAGE_KEY, JSON.stringify(signInState));
}
get() {
const signInState = this.signInStateStorage.get(STORAGE_KEY, "");
if (!signInState) {
return null;
}
return JSON.parse(signInState);
}
remove() {
this.signInStateStorage.remove(STORAGE_KEY);
}
}
exports.SignInStateRepository = SignInStateRepository;
/**
* Browser session storage provider
*/
class StorageSessionProvider {
set(key, value) {
sessionStorage.setItem(key, value);
}
get(key, defaultValue) {
const value = sessionStorage.getItem(key);
if (!value) {
return defaultValue;
}
return value;
}
remove(key) {
sessionStorage.removeItem(key);
}
}
exports.StorageSessionProvider = StorageSessionProvider;
//# sourceMappingURL=signInState.js.map