This Single Page Application demonstrates the integration with the IdP (Identity Provider) of the Engity GmbH.
It is available at https://demo.engity.app.
-
OpenID Connect: oidc-client-ts with react-oidc-context (src/lib/authentication.tsx)
ℹ️ This project supports multiple sub-paths which are dynamically resolved (configured in src/environments/environment.ts). As a result, the authentication procedure is a little bit more complex as a regular application. Please keep this in mind.
-
Basic Framework: React (entry point: src/index.tsx)
-
Language: TypeScript (tsconfig.json)
-
Build system: RSBuild (rsbuild.config.ts)
-
Linting/Formatting: Biome (biome.jsonc)
-
I18n: i18next with react-i18next (src/lib/i18n.ts)
-
Router: React Router
-
Theme: Radix UI with Lucide React
-
Charts: React ApexCharts
- Have at least Nodejs 23.10+ installed (
node -v
) - Have at least NPM 23.10+ installed (
npm -v
andnpx -v
) - Have at least mkcert v1.4.4 installed (
mkcert --version
) - Have all dependencies installed
npm install
- Have a local CA for your
mkcert
installed (if not already done)npm run ensure-ca
- Ensure have a certificate and key for local development of this SPA installed
npm run issue-cert
Run the local development server.
npm run serve
Now it will be available at:
- https://local.engity.dev:4200
- https://local.engity.dev:4200/magic-link
- https://local.engity.dev:4200/username
ℹ️ If you cannot resolve the host, see FAQ: local.engity.dev cannot be resolved;
Some routers enabled a feature called DNS rebinding protection. These will prevent external domains (like local.engity.dev
) to be resolved to 127.0.0.1
. In this case you need either to tell your router to accept an exception for this domain or simply add an entry to your local /etc/hosts
:
- Open the
hosts
file on your operating system:- Linux/macOS
sudo vi /etc/hosts
- Windows
sudo notepad c:\Windows\System32\drivers\etc\hosts
- Linux/macOS
- Ensure you have the following content:
127.0.0.1 local.engity.dev ::1 local.engity.dev