@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
JavaScript
;
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;
};
AuthFlowService.ρAnn = 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