For the complete documentation index, see llms.txt. This page is also available as Markdown.

React Router

The example setup is live here: https://example-react-router.oidc-spa.dev/

Run it locally with:

npx degit https://github.com/keycloakify/oidc-spa/examples/react-router oidc-spa-react-router
cd oidc-spa-react-router
cp .env.local.sample .env.local
yarn
yarn dev

This is for setting for integrating oidc-spa with react-router in Framework Mode.

Enabling SPA mode

As of today, to use oidc-spa you need to enable SPA mode.

(Optional) Improve dev mode by pre-optimizing dependencies

In dev mode, listing your dependencies in optimizeDeps.include can prevent annoying glitches that forces you to reload your page manually.

oidc.client.ts

Make sure you create a app/oidc.client.ts file, (instead of app/oidc.ts).

Example of oidc.client.ts file

Setting up the entrypoint

Create thoses two files:

app/entry.client.tsx
app/entry.client.lazy.tsx

Protecting pages and using the Page Loaders

Let's say we have an invoice page and you want this page to be accessible only when the user is logged in. You also want to fetch the API to get the invoces of the user. This is how you would implement it:

Running the example

The example setup is live here: https://example-react-router-framework.oidc-spa.dev/

Run it locally with:

Last updated

Was this helpful?