UNPKG

@zeushq/nextjs-zidentity

Version:

Next.js SDK for signin in with Zeus Identity

142 lines 6.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Session = exports.SessionCache = exports.useUser = exports.UserContext = exports.UserProvider = exports.handleAuth = exports.handleProfile = exports.handleCallback = exports.handleLogout = exports.handleLogin = exports.withPageAuthRequired = exports.withApiAuthOptional = exports.withApiAuthRequired = exports.getAccessToken = exports.getSession = exports.initZeusIdentity = void 0; var tslib_1 = require("tslib"); var zsession_1 = require("./zsession"); var handlers_1 = require("./handlers"); var session_1 = require("./session/"); Object.defineProperty(exports, "SessionCache", { enumerable: true, get: function () { return session_1.SessionCache; } }); Object.defineProperty(exports, "Session", { enumerable: true, get: function () { return session_1.Session; } }); var helpers_1 = require("./helpers"); var version_1 = (0, tslib_1.__importDefault)(require("./version")); var config_1 = require("./config"); var instance; function getInstance() { if (instance) { return instance; } instance = (0, exports.initZeusIdentity)(); return instance; } var initZeusIdentity = function (params) { var _a = (0, config_1.getConfig)(params), baseConfig = _a.baseConfig, nextConfig = _a.nextConfig; // Init base layer (with base config) var getClient = (0, zsession_1.clientFactory)(baseConfig, { name: 'nextjs-zidentity', version: version_1.default }); var transientStore = new zsession_1.TransientStore(baseConfig); var cookieStore = new zsession_1.CookieStore(baseConfig); var sessionCache = new session_1.SessionCache(baseConfig, cookieStore); var baseHandleLogin = (0, zsession_1.loginHandler)(baseConfig, getClient, transientStore); var baseHandleLogout = (0, zsession_1.logoutHandler)(baseConfig, getClient, sessionCache); var baseHandleCallback = (0, zsession_1.callbackHandler)(baseConfig, getClient, sessionCache, transientStore); // Init Next layer (with next config) var getSession = (0, session_1.sessionFactory)(sessionCache); var getAccessToken = (0, session_1.accessTokenFactory)(nextConfig, getClient, sessionCache); var withApiAuthRequired = (0, helpers_1.withApiAuthRequiredFactory)(sessionCache); var withApiAuthOptional = (0, helpers_1.withApiAuthOptionalFactory)(sessionCache); var withPageAuthRequired = (0, helpers_1.withPageAuthRequiredFactory)(nextConfig.routes.login, getSession); var handleLogin = (0, handlers_1.loginHandler)(baseHandleLogin, nextConfig); var handleLogout = (0, handlers_1.logoutHandler)(baseHandleLogout); var handleCallback = (0, handlers_1.callbackHandler)(baseHandleCallback, nextConfig); var handleProfile = (0, handlers_1.profileHandler)(getClient, getAccessToken, sessionCache); var handleAuth = (0, handlers_1.handlerFactory)({ handleLogin: handleLogin, handleLogout: handleLogout, handleCallback: handleCallback, handleProfile: handleProfile }); return { getSession: getSession, getAccessToken: getAccessToken, withApiAuthRequired: withApiAuthRequired, withApiAuthOptional: withApiAuthOptional, withPageAuthRequired: withPageAuthRequired, handleLogin: handleLogin, handleLogout: handleLogout, handleCallback: handleCallback, handleProfile: handleProfile, handleAuth: handleAuth }; }; exports.initZeusIdentity = initZeusIdentity; var getSession = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return (_a = getInstance()).getSession.apply(_a, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(args), false)); }; exports.getSession = getSession; var getAccessToken = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return (_a = getInstance()).getAccessToken.apply(_a, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(args), false)); }; exports.getAccessToken = getAccessToken; var withApiAuthRequired = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return (_a = getInstance()).withApiAuthRequired.apply(_a, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(args), false)); }; exports.withApiAuthRequired = withApiAuthRequired; var withApiAuthOptional = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return (_a = getInstance()).withApiAuthOptional.apply(_a, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(args), false)); }; exports.withApiAuthOptional = withApiAuthOptional; exports.withPageAuthRequired = (0, helpers_1.withPageAuthRequiredFactory)((0, config_1.getLoginUrl)(), exports.getSession); var handleLogin = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return (_a = getInstance()).handleLogin.apply(_a, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(args), false)); }; exports.handleLogin = handleLogin; var handleLogout = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return (_a = getInstance()).handleLogout.apply(_a, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(args), false)); }; exports.handleLogout = handleLogout; var handleCallback = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return (_a = getInstance()).handleCallback.apply(_a, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(args), false)); }; exports.handleCallback = handleCallback; var handleProfile = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return (_a = getInstance()).handleProfile.apply(_a, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(args), false)); }; exports.handleProfile = handleProfile; var handleAuth = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return (_a = getInstance()).handleAuth.apply(_a, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(args), false)); }; exports.handleAuth = handleAuth; var frontend_1 = require("./frontend"); Object.defineProperty(exports, "UserProvider", { enumerable: true, get: function () { return frontend_1.UserProvider; } }); Object.defineProperty(exports, "UserContext", { enumerable: true, get: function () { return frontend_1.UserContext; } }); Object.defineProperty(exports, "useUser", { enumerable: true, get: function () { return frontend_1.useUser; } }); //# sourceMappingURL=index.js.map