# react-oidc **Repository Path**: tirit/react-oidc ## Basic Information - **Project Name**: react-oidc - **Description**: react-oidc - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-08 - **Last Updated**: 2021-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @axa-fr/react-oidc [](https://dev.azure.com/axaguildev/react-oidc/_build) [](https://sonarcloud.io/dashboard?id=AxaGuilDEv_react-oidc) [](https://sonarcloud.io/component_measures?id=AxaGuilDEv_react-oidc&metric=reliability_rating) [](https://sonarcloud.io/component_measures?id=AxaGuilDEv_react-oidc&metric=security_rating) [](https://sonarcloud.io/component_measures?id=AxaGuilDEv_react-oidc&metric=Coverage) [](https://twitter.com/intent/follow?screen_name=GuildDEvOpen)
A set of react components and HOC to make Oidc (OpenID Connect) client easy. It aim to simplify OAuth authentication between multiples providers.
- [About](#about) - [Getting Started](#getting-started) - [How It Works](#how-it-works) - Packages - [`@axa-fr/react-oidc-context`](./packages/context#readme.md) [](https://badge.fury.io/js/%40axa-fr%2Freact-oidc-context) - [`@axa-fr/react-oidc-context-fetch`](./packages/context-fetch#readme.md) [](https://badge.fury.io/js/%40axa-fr%2Freact-oidc-context-fetch) - [`@axa-fr/react-oidc-redux`](./packages/redux#readme.md) [](https://badge.fury.io/js/%40axa-fr%2Freact-oidc-redux) - [`@axa-fr/react-oidc-redux-fetch`](./packages/redux-fetch#readme.md) [](https://badge.fury.io/js/%40axa-fr%2Freact-oidc-redux-fetch) - [`@axa-fr/react-oidc-fetch-observable`](./packages/fetch-observable#readme.md) [](https://badge.fury.io/js/%40axa-fr%2Freact-oidc-fetch-observable) - [`@axa-fr/vanilla-oidc`](./packages/vanilla#readme.md) [](https://badge.fury.io/js/%40axa-fr%2Fvanilla-oidc) - [Concepts](#concepts) - [Contribute](#contribute) ## About These components is used to manage client authentication. It uses the libraries ["oidc client"](https://github.com/IdentityModel/oidc-client-js). Two version of the component with different "State management" are available : - with redux - with react context api ## Getting Started - [`@axa-fr/react-oidc-context`](./packages/context#readme) - [`@axa-fr/react-oidc-context-fetch`](./packages/context-fetch#readme) - [`@axa-fr/react-oidc-redux`](./packages/redux#readme) - [`@axa-fr/react-oidc-redux-fetch`](./packages/redux-fetch#readme) - [`@axa-fr/react-oidc-fetch-observable`](./packages/fetch-observable#readme) - [`@axa-fr/vanilla-oidc`](./packages/vanilla#readme) ## Examples - [`create react app & context api`](./examples/context) - [`create react app & redux`](./examples/redux) - [`create react app & vanilla`](./examples/vanilla) ## How It Works These components encapsulate the use of "oidc client" in order to hide workfow complexity. Internally, native History API is used to be router library agnostic. ## Concept A set of react components and HOC to make Oidc client easy! The purpose of the component is : - Simple set up - React component protection (by composing) - Standardize the "Routes" used by the oauth flow - Manage the recovery of tokens and different exchanges with "openid connect" server - Flexible : You can customize routes and redirect components if you need it - HOC => override "fetch" in order to retrieve a new "fetch" that will be able to manage http 401 and http 403 response. ## Contribute - [How to run the solution and to contribute](./CONTRIBUTING.md) - [Please respect our code of conduct](./CODE_OF_CONDUCT.md)