0.0.2 • Published 2 years ago

codeability-extension v0.0.2

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

codeability-extension

import { injectable } from "inversify"; import { Application } from "express"; import { BackendApplicationContribution } from "@theia/core/lib/node/backend-application";

require("dotenv").config(); var process = require("process"); var cookieParser = require('cookie-parser');

@injectable() export class TheiaCookieAuthContribution implements BackendApplicationContribution {

configure(app: Application): void {
    app.use(cookieParser());
    app.use((request, response, next) => {
        const env = {
            key: process.env.COOKIE_NAME,
            value: process.env.COOKIE_VALUE,
            error: process.env.ERROR_MESSAGE
        }

        if (!(env.key in request.cookies) || request.cookies[env.value] !== env.value) {
            response.status(401).send(env.error)
            return
        } else {
            next()
        }
    })
}

} import { ContainerModule } from "inversify"; import { BackendApplicationContribution } from "@theia/core/lib/node/backend-application"; import { TheiaCookieAuthContribution } from "./cookie-auth-contribution"

export default new ContainerModule(bind => { bind(BackendApplicationContribution).to(TheiaCookieAuthContribution); });