UNPKG

medusa-plugin-auth-xponential

Version:
56 lines 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFirebaseStoreStrategy = getFirebaseStoreStrategy; exports.getFirebaseStoreAuthRouter = getFirebaseStoreAuthRouter; const passport_firebase_jwt_1 = require("passport-firebase-jwt"); const Strategy_1 = require("../../core/passport/Strategy"); const validate_callback_1 = require("../../core/validate-callback"); const types_1 = require("./types"); const utils_1 = require("./utils"); const firebase_admin_1 = require("firebase-admin"); function getFirebaseStoreStrategy(id) { const strategyName = `${types_1.FIREBASE_STORE_STRATEGY_NAME}_${id}`; return class FirebaseStoreStrategy extends (0, Strategy_1.PassportStrategy)(passport_firebase_jwt_1.Strategy, strategyName) { constructor(container, configModule, strategyOptions, strict) { var _a; super({ jwtFromRequest: (_a = strategyOptions.store.jwtFromRequest) !== null && _a !== void 0 ? _a : passport_firebase_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(), }); this.container = container; this.configModule = configModule; this.strategyOptions = strategyOptions; this.strict = strict; } async validate(token) { const decodedToken = await (0, firebase_admin_1.auth)().verifyIdToken(token); if (this.strategyOptions.store.verifyCallback) { return await this.strategyOptions.store.verifyCallback(this.container, decodedToken, this.strict); } const profile = { emails: [{ value: decodedToken.email }] }; return await (0, validate_callback_1.validateStoreCallback)(profile, { container: this.container, strategyErrorIdentifier: 'firebase', strict: this.strict, strategyName, }); } }; } /** * Return the router that hold the firebase store authentication routes * @param id * @param firebase * @param configModule */ function getFirebaseStoreAuthRouter(id, firebase, configModule) { var _a; const strategyName = `${types_1.FIREBASE_STORE_STRATEGY_NAME}_${id}`; return (0, utils_1.firebaseAuthRoutesBuilder)({ domain: 'store', configModule, authPath: (_a = firebase.store.authPath) !== null && _a !== void 0 ? _a : '/store/auth/firebase', strategyName, expiresIn: firebase.store.expiresIn, }); } //# sourceMappingURL=store.js.map