@openpass/openpass-js-sdk
Version:
OpenPass SSO JavaScript SDK
42 lines • 1.13 kB
JavaScript
import { config } from "../config";
const STORAGE_KEY = `${config.SSO_STORAGE_PREFIX}__client_session`;
/**
* Class that manages the state during a sign-in / authentication attempt.
*/
export 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);
}
}
/**
* Browser session storage provider
*/
export 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);
}
}
//# sourceMappingURL=signInState.js.map