How to use @foal/csrf - 8 common examples

To help you get started, we’ve selected a few @foal/csrf examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github FoalTS / foal / packages / acceptance-tests / src / csrf / regular-web-app.stateful.spec.ts View on Github external
@Post('/login')
    async login() {
      const session = await this.store.createAndSaveSessionFromUser({ id: 1 }, { csrfToken: true });

      const response = new HttpResponseOK();
      setSessionCookie(response, session.getToken());
      return response;
    }
  }

  @TokenRequired({
    cookie: true,
    store: TypeORMStore,
  })
  @CsrfTokenRequired()
  class ApiController {
    @Post('/products')
    createProduct() {
      return new HttpResponseCreated();
    }
  }

  @TokenRequired({
    cookie: true,
    redirectTo: '/login',
    store: TypeORMStore,
  })
  class PageController {
    @Get('/home')
    async home(ctx: Context) {
      // Normally in an HTML template
github FoalTS / foal / packages / acceptance-tests / src / csrf / regular-web-app.stateless.spec.ts View on Github external
describe('[CSRF|regular web app|stateless] Users', () => {

  let app: ExpressApplication;
  let csrfToken: string;

  @CsrfTokenRequired({ doubleSubmitCookie: true })
  class ApiController {
    @Post('/products')
    createProduct() {
      return new HttpResponseCreated();
    }
  }

  class PageController {
    @Get('/home')
    async home(ctx: Context) {
      // Normally in an HTML template
      const response = new HttpResponseOK();
      setCsrfCookie(response, await getCsrfToken());
      return response;
    }
  }
github FoalTS / foal / packages / acceptance-tests / src / csrf / regular-web-app.stateless.spec.ts View on Github external
async home(ctx: Context) {
      // Normally in an HTML template
      const response = new HttpResponseOK();
      setCsrfCookie(response, await getCsrfToken());
      return response;
    }
  }
github FoalTS / foal / packages / acceptance-tests / src / csrf / regular-web-app.stateful.spec.ts View on Github external
async home(ctx: Context) {
      // Normally in an HTML template
      return new HttpResponseOK({ csrfToken: await getCsrfToken(ctx.session) });
    }
  }
github FoalTS / foal / packages / acceptance-tests / src / csrf / spa-and-api.stateless.spec.ts View on Github external
describe('[CSRF|spa and api|stateless] Users', () => {

  let app;
  let csrfToken: string;

  class AuthController {
    @Post('/login')
    async login() {
      const response = new HttpResponseOK();
      setCsrfCookie(response, await getCsrfToken());
      return response;
    }
  }

  @CsrfTokenRequired({ doubleSubmitCookie: true })
  class ApiController {
    @Post('/products')
    createProduct() {
      return new HttpResponseCreated();
    }
  }

  class AppController {
    subControllers = [
      AuthController,
      controller('/api', ApiController),
    ];
  }

  before(async () => {
    process.env.SETTINGS_CSRF_SECRET = 'csrf-secret';
github FoalTS / foal / packages / acceptance-tests / src / csrf / spa-and-api.stateful.spec.ts View on Github external
@Post('/login')
    async login() {
      const session = await this.store.createAndSaveSessionFromUser({ id: 1 }, { csrfToken: true });

      const response = new HttpResponseOK();
      setSessionCookie(response, session.getToken());
      setCsrfCookie(response, await getCsrfToken(session));
      return response;
    }
  }

  @TokenRequired({
    cookie: true,
    store: TypeORMStore,
  })
  @CsrfTokenRequired()
  class ApiController {
    @Post('/products')
    createProduct() {
      return new HttpResponseCreated();
    }
  }

  class AppController {
    subControllers = [
      AuthController,
      controller('/api', ApiController),
    ];
  }

  before(async () => {
    process.env.SETTINGS_SESSION_SECRET = 'session-secret';
github FoalTS / foal / packages / acceptance-tests / src / csrf / spa-and-api.stateful.spec.ts View on Github external
async login() {
      const session = await this.store.createAndSaveSessionFromUser({ id: 1 }, { csrfToken: true });

      const response = new HttpResponseOK();
      setSessionCookie(response, session.getToken());
      setCsrfCookie(response, await getCsrfToken(session));
      return response;
    }
  }
github FoalTS / foal / packages / acceptance-tests / src / csrf / spa-and-api.stateless.spec.ts View on Github external
async login() {
      const response = new HttpResponseOK();
      setCsrfCookie(response, await getCsrfToken());
      return response;
    }
  }

@foal/csrf

CSRF protection for FoalTS

MIT
Latest version published 3 years ago

Package Health Score

58 / 100
Full package analysis