@zeushq/nextjs-zidentity
Version:
Next.js SDK for signin in with Zeus Identity
142 lines • 6.93 kB
JavaScript
;
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