Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@frontegg/react

Package Overview
Dependencies
Maintainers
1
Versions
1309
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@frontegg/react

Frontegg React.JS components

  • 0.2.4
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
20K
increased by0.35%
Maintainers
1
Weekly downloads
 
Created
Source

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>
  );

FAQs

Package last updated on 09 Jul 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc