UNPKG

7.48 kBSource Map (JSON)View Raw
1{"version":3,"file":"AuthServerModule.js","names":["AuthServerModule","strategies","passport","strategy","provider","log","error","getPassportStrategy","args","updateTokens","updatePassport","config","socials","helpers","createHelpers","app","strategyProviders","getStrategies","passportService","Passport","providers","get","asyncMapValues","type","strategyConfig","importFn","StrategyProvider","__parent","req","data","__init","session","user","userId","_id","module","UserModel","findOne","Err","status","token","generateAuthToken","prepare","view","debug","Object","keys","forEach","use","Module"],"sources":["../src/AuthServerModule.js"],"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"],"mappings":"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"}
\No newline at end of file