UNPKG

@mvx/identity

Version:

identity is oidc for mvc, type-mvc is base on koa. Decorator, Ioc, AOP mvc framework on server.

52 lines (50 loc) 2.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AuthFlowService = void 0; var tslib_1 = require("tslib"); var ioc_1 = require("@tsdi/ioc"); var mvc_1 = require("@mvx/mvc"); var passports_1 = require("../passports"); var AuthFlowService = /** @class */ (function (_super) { tslib_1.__extends(AuthFlowService, _super); function AuthFlowService() { return _super !== null && _super.apply(this, arguments) || this; } AuthFlowService.prototype.getAuthMiddlewares = function (ctx, controller, propertyKey) { var _a, _b; var middlewares = []; var mvcCtx = ctx.mvcContext; var configuration = mvcCtx.getConfiguration(); var flowOption = configuration.passports.default; if (!flowOption) { return middlewares; } var refl = mvcCtx.reflects; var authOption = tslib_1.__assign(tslib_1.__assign({}, configuration.passports.initialize), flowOption.options); if (!authOption.userProperty && ((_a = flowOption.options) === null || _a === void 0 ? void 0 : _a.assignProperty)) { authOption.userProperty = (_b = flowOption.options) === null || _b === void 0 ? void 0 : _b.assignProperty; } if (propertyKey) { if (refl.hasMethodMetadata(mvc_1.Authorization, controller, propertyKey)) { middlewares.push(this.passport.authenticate(flowOption.strategy, authOption)); } } else if (refl.hasMetadata(mvc_1.Authorization, controller)) { middlewares.push(this.passport.authenticate(flowOption.strategy, authOption)); } return middlewares; }; AuthFlowServiceAnn = function () { return { "name": "AuthFlowService", "params": { "getAuthMiddlewares": ["ctx", "controller", "propertyKey"] } }; }; tslib_1.__decorate([ ioc_1.Inject(passports_1.AuthenticatorToken), tslib_1.__metadata("design:type", Object) ], AuthFlowService.prototype, "passport", void 0); AuthFlowService = tslib_1.__decorate([ ioc_1.Singleton() ], AuthFlowService); return AuthFlowService; }(mvc_1.AuthorizationService)); exports.AuthFlowService = AuthFlowService; //# sourceMappingURL=../sourcemaps/middlewares/AuthFlowService.js.map