UNPKG

7.31 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/AuthServerModule.js"],"names":["AuthServerModule","strategies","passport","strategy","provider","log","error","getPassportStrategy","args","updateTokens","updatePassport","config","socials","helpers","app","strategyProviders","getStrategies","passportService","Passport","providers","type","strategyConfig","StrategyProvider","__parent","req","data","__init","session","user","userId","_id","module","UserModel","findOne","Err","status","token","generateAuthToken","prepare","view","debug","Object","keys","use","Module"],"mappings":"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","sourcesContent":["import Err from '@lskjs/err';\nimport Module from '@lskjs/module';\nimport asyncMapValues from '@lskjs/utils/asyncMapValues';\nimport importFn from '@lskjs/utils/importFn';\nimport forEach from 'lodash/forEach';\nimport get from 'lodash/get';\nimport { Passport } from 'passport';\n\nimport strategies from './strategies';\nimport createHelpers from './utils/createHelpers';\n\nexport class AuthServerModule extends Module {\n getStrategies() {\n return strategies;\n }\n getPassportStrategy(passport) {\n const strategy = this.strategies[passport.provider];\n if (!strategy) {\n this.log.error('AuthModule !strategy');\n }\n return strategy;\n }\n async updatePassportTokens(passport, ...args) {\n const strategy = this.getPassportStrategy(passport);\n await strategy.updateTokens(passport, ...args);\n }\n async updatePassportData(passport) {\n const strategy = this.getPassportStrategy(passport);\n if (!strategy) return;\n // console.log('strategy.updateTokens', strategy.updateTokens);\n await strategy.updateTokens(passport);\n await strategy.updatePassport({\n passport,\n });\n }\n async init() {\n await super.init();\n if (!this.config.socials) this.config.socials = {};\n // this.models = this.getModels();\n\n this.helpers = createHelpers({ app: this.app }); // TODO: потом надо будет по другому кидать app, а еще лучше вообще не кидать\n\n this.strategyProviders = this.getStrategies();\n this.strategies = {};\n\n this.passportService = new Passport();\n const providers = get(this, 'config.providers', {});\n // console.log({ providers });\n\n await asyncMapValues(providers, async (config) => {\n const { provider, type, ...strategyConfig } = config;\n const StrategyProvider = await importFn(this.strategyProviders[type]);\n if (!StrategyProvider) return;\n const strategy = new StrategyProvider({\n __parent: this,\n app: this.app,\n provider,\n type,\n config: strategyConfig,\n });\n // console.log({strategy});\n if (!strategy) return;\n this.strategies[provider] = strategy;\n });\n }\n\n async getAuthSession(req) {\n if (req.data?.__init && req.data?.session?.user) {\n req.user = req.data.session.user;\n }\n const userId = req.user && req.user._id;\n if (!userId) return {};\n const UserModel = await this.app.module('models.UserModel');\n const user = await UserModel.findOne({ _id: userId });\n if (!user) throw new Err('auth.userNotFound', { status: 404 });\n const token = this.helpers.generateAuthToken(user);\n return {\n // api\n // state: await this.app.getAppState(_id),\n // status: await user.getStatus(),\n _id: userId,\n token,\n user: await UserModel.prepare(user, { req, view: 'extended' }),\n };\n }\n\n async run() {\n this.log.debug('strategies', Object.keys(this.strategies));\n forEach(this.strategies || [], (strategy) => {\n this.passportService.use(strategy.getPassportStrategy());\n });\n }\n}\n\nexport default AuthServerModule;\n"],"file":"AuthServerModule.js"}
\No newline at end of file