codeability-extension

0.0.2 • Public • Published

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); });

/codeability-extension/

    Package Sidebar

    Install

    npm i codeability-extension

    Weekly Downloads

    2

    Version

    0.0.2

    License

    none

    Unpacked Size

    5.87 MB

    Total Files

    158

    Last publish

    Collaborators

    • trigonal