@wepublish/api
Version:
API core for we.publish.
31 lines • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SessionStrategy = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const passport_1 = require("@nestjs/passport");
const passport_http_bearer_1 = require("passport-http-bearer");
const authentication_service_1 = require("./authentication.service");
let SessionStrategy = exports.SessionStrategy = class SessionStrategy extends (0, passport_1.PassportStrategy)(passport_http_bearer_1.Strategy, 'session') {
constructor(authService) {
super({
session: false // would use a cookie if set to true
});
this.authService = authService;
}
validate(token) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const session = yield this.authService.getSessionByToken(token);
const isSessionValid = this.authService.isSessionValid(session);
if (!isSessionValid) {
return false;
}
return session;
});
}
};
exports.SessionStrategy = SessionStrategy = tslib_1.__decorate([
(0, common_1.Injectable)(),
tslib_1.__metadata("design:paramtypes", [authentication_service_1.AuthenticationService])
], SessionStrategy);
//# sourceMappingURL=session.strategy.js.map