UNPKG

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
"use strict"; 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;