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.cts)
-
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 -vandnpx -v) - Have at least mkcert v1.4.4 installed (
mkcert --version) - Have all dependencies installed
npm install
- Have a local CA for your
mkcertinstalled (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 serveNow 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
hostsfile 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