Cerbos JavaScript SDK
    Preparing search index...

    Function useCerbos

    • A hook to access the Cerbos client passed down by the CerbosProvider.

      Returns ClientWithPrincipal

      The client's methods are asynchronous, so depending on your use case it may be easier to use one of the higher-level hooks (useCheckResource, useCheckResources, or useIsAllowed), which convert the resulting promises into AsyncResults.

      import { useCerbos } from "@cerbos/react";

      function SomeComponent() {
      const cerbos = useCerbos();

      const handleClick = async () => {
      const decision = await cerbos.checkResource({
      resource: {
      kind: "document",
      id: "1",
      attr: { owner: "user@example.com" },
      },
      actions: ["view", "edit"],
      });

      if (decision.allAllowed()) {
      // do something
      } else if (decision.allowedActions().includes("view")) {
      // do something else
      }
      ...
      };

      return <button onClick={handleClick}>...</button>;
      }