@axa-fr/react-oidc-context-fetch

Inject authentification behavior to fetch using react High Order Component

Usage no npm install needed!

<script type="module">
  import axaFrReactOidcContextFetch from 'https://cdn.skypack.dev/@axa-fr/react-oidc-context-fetch';
</script>

README

@axa-fr/react-oidc-context-fetch

About

This component allows by composition to improve "fetch" of new behavior. The "fetch" return to the same signature as "fetch". You do not have to use these components if they do not meet your needs. The purpose of these components is to avoid you always writing the same code and normalize the behavior (url, redirection, ect.) of your applications.

  • withFetchRedirectionOn403
    • Allow to redirects to the unauthorized route
  • withFetchSilentAuthenticateAndRetryOn401
    • Triggers authentication the update of the token if it has expired
  • withFetchToken
    • Injects the token jwt in bearer mode to make the REST call to the server
  • withAuthentication
    • Composition of the previous 3 behaviors.

Getting Started

npm install @axa-fr/react-oidc-context-fetch --save
import { compose, lifecycle } from 'recompose';
import { withAuthentication } from '@axa-fr/react-oidc-context-fetch';

const enhance = compose(
  withAuthentication,
  lifecycle({
    componentWillMount() {
      // This "fetch" manage more than the orginal fetch
      this.props
        .fetch('/yourapi')
        .then(function(response) {
          // Do Something
        })
        .then(function(body) {
          // Do Something else
        });
    }
  })
);

export default enhance(FleetDeclaration);