@cerbos/http
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 16+
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",
});
For more details, see the HTTP
class documentation.
Further reading
Get help