UNPKG

@cocalc/server

Version:

CoCalc server functionality: functions used by either the hub and the next.js server

79 lines 3.46 kB
"use strict"; /* * This file is part of CoCalc: Copyright © 2022 Sagemath, Inc. * License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getExtraStrategyConstructor = void 0; const misc_1 = require("@cocalc/util/misc"); const passport_oauth2_1 = require("@passport-next/passport-oauth2"); const passport_activedirectory_1 = require("passport-activedirectory"); const passport_apple_1 = require("passport-apple"); const passport_gitlab2_1 = require("passport-gitlab2"); // this is a wrapper containing version 1 and 2 const passport_azure_ad_1 = require("passport-azure-ad"); const oauth = __importStar(require("passport-oauth")); const passport_openidconnect_1 = require("passport-openidconnect"); const passport_orcid_1 = require("passport-orcid"); const passport_saml_1 = require("passport-saml"); const types_1 = require("./types"); function getExtraStrategyConstructor(type) { // LDAP via passport-ldapauth: https://github.com/vesse/passport-ldapauth#readme // OAuth2 via @passport-next/passport-oauth2: https://github.com/passport-next/passport-oauth2#readme // ORCID via passport-orcid: https://github.com/hubgit/passport-orcid#readme if (!types_1.PassportTypesList.includes(type)) { throw Error(`hub/auth: unknown extra strategy "${type}"`); } switch (type) { case "oauth1": return oauth.OAuthStrategy; case "oauth2": return oauth.OAuth2Strategy; case "oauth2next": return passport_oauth2_1.Strategy; case "orcid": return passport_orcid_1.Strategy; case "saml": return passport_saml_1.Strategy; case "oidc": return passport_openidconnect_1.Strategy; case "azuread": return passport_azure_ad_1.OIDCStrategy; case "activedirectory": return passport_activedirectory_1.Strategy; case "gitlab2": return passport_gitlab2_1.Strategy; case "apple": return passport_apple_1.Strategy; case "email": throw new Error("email is a special case, not a strategy"); default: (0, misc_1.unreachable)(type); } throw new Error(`type ${type} not implemented`); } exports.getExtraStrategyConstructor = getExtraStrategyConstructor; //# sourceMappingURL=extra-strategies.js.map