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

Readme

Keywords

Package Sidebar

Install

npm i codeability-extension

Weekly Downloads

1

Version

0.0.2

License

none

Unpacked Size

5.87 MB

Total Files

158

Last publish

Collaborators

  • trigonal