@react-keycloak-fork/ssr
Version:
Fork of https://github.com/react-keycloak/react-keycloak.git with updated packages for Keycloak >=17. SSR bindings for Keycloak javascript adapter
34 lines • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getKeycloakInstance = exports.getKeycloakStub = void 0;
var utils_1 = require("./utils");
// Keycloak singleton
var keycloakInstance;
// KeycloakStub singleton
var keycloakStubInstance;
// this is a fake Keycloak instance we use to initialize Keycloak on the server.
// This gets over-written as soon as Keycloak is initialized on the client.
var getKeycloakStub = function (persistor) {
var kcTokens = persistor.getTokens();
keycloakStubInstance = {
init: function () { return Promise.resolve(true); },
updateToken: function () { return Promise.resolve(false); },
idToken: kcTokens.idToken,
token: kcTokens.token,
refreshToken: kcTokens.refreshToken,
authenticated: !!kcTokens.idToken && !!kcTokens.token,
};
return keycloakStubInstance;
};
exports.getKeycloakStub = getKeycloakStub;
var Keycloak = !(0, utils_1.isServer)() ? require('keycloak-js').default : null;
var getKeycloakInstance = function (keycloakConfig, persistor, recreate) {
if (recreate === void 0) { recreate = false; }
var isServerCheck = (0, utils_1.isServer)();
if (recreate || (!keycloakInstance && !isServerCheck)) {
keycloakInstance = Keycloak(keycloakConfig);
}
return !isServerCheck ? keycloakInstance : (0, exports.getKeycloakStub)(persistor);
};
exports.getKeycloakInstance = getKeycloakInstance;
//# sourceMappingURL=keycloak.js.map