@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
29 lines • 1.23 kB
JavaScript
import { isServer } from './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.
export 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;
};
var Keycloak = !isServer() ? require('keycloak-js').default : null;
export var getKeycloakInstance = function (keycloakConfig, persistor, recreate) {
if (recreate === void 0) { recreate = false; }
var isServerCheck = isServer();
if (recreate || (!keycloakInstance && !isServerCheck)) {
keycloakInstance = Keycloak(keycloakConfig);
}
return !isServerCheck ? keycloakInstance : getKeycloakStub(persistor);
};
//# sourceMappingURL=keycloak.js.map