A package for managing OpenID-Connect authentication in ReactJS / Redux apps.
npm install --save redux-oidc
This package has oidc-client-js as its peer dependency. In order to install this run:
npm install --save oidc-client
There is also a dependency on co.
npm install --save co
In addition there is a peer dependency for immutable.js, if you want to use it.
This package handles OpenID-Connect authentication in redux apps. It enables redux apps to authenticate with an external OIDC authentication provider and handles the actions of the OpenID implicit flow.
It uses the oidc-client-js library to manage OpenID Connect functionality.
It contains the following parts:
- oidcMiddleware: redux middleware to automatically check whether or not the current user is signed in & trigger the authentication flow,
- CallbackComponent: A react component processing the callback from the OpenID-Connect provider,
- reducers & actions: reducers and actions to handle OIDC events,
- helpers: create helpers to manage the oidc-client-js library
I've decided to overhaul the API of this library. The main changes include:
- better SSR & React-Native support due to not relying on
window
anymore, - removed
childContext
from the<OidcProvider />
, user manager now must be passed in as a prop, - immutablejs is now an optional dependency and doesn't need to be installed for those not using it,
- dropped support for
shouldValidate
- the middleware now always validates the user, - dropped support for
triggerAuthFlow
- this must now be initiated by a custom action (see example app), - cleaner API all around
The example app is already updated to reflect these changes. I will update the wiki soon...
Check out the wiki for further information (for Version 2).
There is a sample application demonstrating the use of this package here.
npm run test