@frontegg/react-dev
TypeScript icon, indicating that this package has built-in type declarations

0.3.8-1 • Public • Published

Frontegg React

alt text

Frontegg is a web platform where SaaS companies can set up their fully managed, scalable and brand aware - SaaS features and integrate them into their SaaS portals in up to 5 lines of code.

Installation

Use the package manager npm to install frontegg React.JS library.

npm install @frontegg/react

Usage

Frontegg offers multiple components for integration with the Frontegg's scaleable back-end and front end libraries

Configuration

Frontegg react library requires simple one-liner configuration in order to efficiently interact with the Backend's Frontegg middleware

(*) Checkout the @frontegg/client documentation to read on how to configure the Frontegg backend middleware

Initializaing the Frontegg Configuration

On your App.js:

import * as Frontegg from '@frontegg/react'

// This method is mandatory in order to resolve the authorization header token
const resolveToken = async () => {
    const token = await getTokenSilently(); // This sample is based on Auth0 but every authentication provider is supported (Including Frontegg :-))
    return token;
}

// This method allows to append additional query params to the frontegg requests in case you need to use it on your backend in order to resolve contexts
const resolveAdditionalQueryParams = async () => {
    return [{key: 'my-additional-query-param', value: 'my-addition-query-param-value'}]
}

// This method allows to append additional headers to the frontegg requests in case you need to use it on your backend in order to resolve contexts
const resolveAdditionalHeaders = async () => {
    return [{key: 'my-additional-query-param', value: 'my-addition-query-param-value'}]
    return token;
}

const providerOptions = {
  baseUrl: 'http://localhost:9090',                             // You backend base URL (frontegg will direct the requests to it)
  tokenResolver: resolveToken,                                  // The token resolver (this is mandatory)
  additionalQueryParamsResolver: resolveAdditionalQueryParams,  // The query params resolver (this is optional)
  additionalHeadersResolver: resolveAdditionalHeaders,          // The headers resolver (this is optional)
  // requestCredentials: "include"                              // Support sending credentials on the fetch request to the backend (this is optional)
}


// And wrap Frontegg components with the context provider
<Frontegg.ContextProvider value={providerOptions}>
  ...
</Frontegg.ContextProvider>

Audits

Let your customers record the events, activities and changes made to their tenant.

Frontegg’s Managed Audit Logs feature allows a SaaS company to embed an end-to-end working feature in just 5 lines of code.

Embedding the Managed Audits component is a simple one-liner

import * as Frontegg from '@frontegg/react'

const AuditsContainer = () => {

return (
    <div className="App">
      <Frontegg.ContextProvider value={providerOptions}>
        <Frontegg.Audits />
      </Frontegg.ContextProvider>
    </div>
  );

The pagination mode can be controlled by using the paginationMode prop

import * as Frontegg from '@frontegg/react'

const AuditsContainer = () => {

return (
    <div className="App">
      <Frontegg.ContextProvider value={providerOptions}>
        <Frontegg.Audits paginationMode="scroll | pagination" />
      </Frontegg.ContextProvider>
    </div>
  );

Passing predefined filters is also possible (to load a specific contextual audit logs). That will pre-filter the audits and will not show the pre-filtered columns on the table :-)

import * as Frontegg from '@frontegg/react'

const AuditsContainer = () => {

return (
    <div className="App">
      <Frontegg.ContextProvider value={providerOptions}>
        <Frontegg.Audits predefinedFilters={{
          "resource": "dashboard",
          "action": "Accessed"
        }} />
      </Frontegg.ContextProvider>
    </div>
  );

Readme

Keywords

none

Package Sidebar

Install

npm i @frontegg/react-dev

Weekly Downloads

192

Version

0.3.8-1

License

https://cdn.jsdelivr.net/npm/@frontegg/react-dev/licence.md

Unpacked Size

1.93 MB

Total Files

538

Last publish

Collaborators

  • alonglz
  • guy_frontegg
  • front-egg