@cerbos/http
TypeScript icon, indicating that this package has built-in type declarations

0.10.1 • Public • Published

@cerbos/http

npm

Client library for interacting with the Cerbos policy decision point over HTTP.

This is primarily intended for use in browsers, and requires fetch to be available globally. If you're targeting old browsers, you'll need to apply a polyfill.

You can use it in server-side Node.js applications, but the gRPC client might be more appropriate.

  • For Node.js up to 17.4, you'll need a polyfill to make fetch happen.
  • From Node.js 17.5, you can instead enable the --experimental-fetch option at the command line or via NODE_OPTIONS.
  • From Node.js 18 onwards fetch is available without any additional configuration.

Prerequisites

  • Cerbos 0.16+
  • Node.js 14+
  • fetch

Installation

$ npm install @cerbos/http

or

$ yarn add @cerbos/http

Example usage

import { HTTP } from "@cerbos/http";

const cerbos = new HTTP("http://localhost:3592");

await cerbos.isAllowed({
  principal: {
    id: "user@example.com",
    roles: ["USER"],
    attributes: { tier: "PREMIUM" },
  },
  resource: {
    kind: "document",
    id: "1",
    attributes: { owner: "user@example.com" },
  },
  action: "view",
}); // => true

For more details, see the HTTP class documentation.

Further reading

Get help

Keywords

none

Install

npm i @cerbos/http

DownloadsWeekly Downloads

462

Version

0.10.1

License

Apache-2.0

Unpacked Size

843 kB

Total Files

108

Last publish

Collaborators

  • ahaines
  • alexolivier