keycloak-react-web
Version:
Keycloak React Web has been built on top of keycloak-js extending all of its functionalities to provide a global authentication support for your react applications.
34 lines (33 loc) • 1.42 kB
JavaScript
;
exports.__esModule = true;
exports.KeycloakConsumer = void 0;
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var keycloakContext_1 = require("./keycloakContext");
var defaultOptions = {
onLoad: "check-sso"
};
function createAuthProvider(AuthContext) {
var KeycloakAuthProvider = function (props) {
var client = props.client, children = props.children;
var _a = react_1["default"].useState(false), initialized = _a[0], setInitialized = _a[1];
react_1["default"].useEffect(function () {
var client = props.client, initOptions = props.initOptions;
var initialize = function () {
client
.init(tslib_1.__assign(tslib_1.__assign({}, defaultOptions), initOptions))
.then(function () {
setInitialized(true);
})["catch"](function (err) {
throw new Error(err);
});
};
initialize();
}, []);
return (react_1["default"].createElement(AuthContext.Provider, { value: { initialized: initialized, client: client } }, children));
};
return KeycloakAuthProvider;
}
var KeycloakProvider = createAuthProvider(keycloakContext_1.keycloakContext);
exports.KeycloakConsumer = keycloakContext_1.keycloakContext.Consumer;
exports["default"] = KeycloakProvider;