EmpowerID Identity Fabric SDK – Python & React packages
EmpowerID Identity Fabric provides a secure‐by‐default toolkit for building apps on top of the EmpowerID Identity Fabric Platform. The SDK is split into two families:
| Package | Runtime | Purpose |
|---|---|---|
empowernow-common |
Python 3.10 – 3.12 | Shared cryptography, OAuth helpers, AuthZEN PDP client, Redis/metrics utilities. |
@empowernow/bff-auth-react |
React 18 | Hooks & components for the Backend-for-Frontend (BFF) cookie-based auth model. |
@empowernow/ui |
React 18 | Headless UI-component library used by all EmpowerID Identity Fabric SPAs. (Depends on either @empowernow/bff-auth-react or the legacy shim @empowernow/react.) |
Why no browser-side OAuth client? EmpowerID Identity Fabric moved to a BFF architecture to comply with FAPI 2.0 Baseline / Advanced and to keep tokens out of the browser. The legacy
@empowernow/reactlibrary now acts as a thin re-export of@empowernow/bff-auth-reactfor backward compatibility. It no longer handles tokens.
Installation
Python (server-side services)
pip install "empowernow-common>=2.3,<3"
Optional extras:
empowernow-common[fips]– Use when running under an OpenSSL FIPS provider.empowernow-common[redis],empowernow-common[kafka], etc. – Feature-scoped extras, see pyproject.toml.
React (front-end SPAs)
npm install @empowernow/bff-auth-react @empowernow/ui
If you still have code importing @empowernow/react, update it at your own pace – the alias re-exports the new package so nothing breaks at runtime.
Quick start
Using the Python OAuthClient
from empowernow_common.oauth import OAuthClient
oauth = OAuthClient(
issuer="https://idp.example.com",
client_id="python-client",
client_secret="…", # confidential client
redirect_uri="https://bff.example.com/auth/callback",
scopes=["openid", "profile"]
)
auth_url = oauth.create_authorization_url(state="xyz")
print("Open browser to", auth_url)
React – wrap your SPA in the AuthProvider
import { AuthProvider } from '@empowernow/bff-auth-react';
import { createRoot } from 'react-dom/client';
import App from './App';
createRoot(document.getElementById('root')!).render(
<AuthProvider baseUrl={import.meta.env.VITE_BFF_BASE_URL}>
<App />
</AuthProvider>
);
useAuth() gives you isAuthenticated, user, session and convenience helpers like login() and logout(); apiClient is a fetch wrapper that automatically adds CSRF headers and credentials:"include".
Security & Compliance
- FAPI 2.0 ready – private-key-JWT, PAR, JARM, DPoP and SameSite cookie model supported at the BFF layer.
- FIPS option – When the host OpenSSL runs in FIPS 140-3 mode,
empowernow-commoncan validate algorithms at start-up and periodically (opt-in via envFIPS_CONTINUOUS_VALIDATION=1). - No browser tokens – SPAs never see access- or refresh-tokens; they use HttpOnly cookies issued by the BFF.
- Structured logging & Prometheus metrics built in.
Repository layout
client_sdk/empowernow-packages/
├── packages/
│ ├── empowernow-common/ # Python package
│ ├── @empowernow/bff-auth-react/ # React auth kit
│ ├── @empowernow/ui/ # UI kit (optional peer)
│ └── empowernow-react/ # Shim – re-exports BFF kit
Contributing
Pull requests are welcome. Please run pre-commit run -a and ensure pytest -q / pnpm test are green before opening a PR.
© 2025 EmpowerID Identity Fabric – Apache 2.0 licence.
Metadata
Release files for empowernow-sdk 3.23.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| empowernow_sdk-3.23.3.tar.gz | 467.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| empowernow_sdk-3.23.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.0 MB
Release files / empowernow_sdk-3.23.3.tar.gz
| Download URL | empowernow_sdk-3.23.3.tar.gz |
|---|---|
| Size | 467.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75635fa6cc1e8682e5ba22b9bab9a27bb15550eb3408ac21e2d3d022cab387af
|
|
BLAKE2b-256 checksum How to use checksums |
5bff9b8a522e6977df5760c3cf96a0ebd81226f61f24bdd253f6d3b8d216c6e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / empowernow_sdk-3.23.3-py3-none-any.whl
| Download URL | empowernow_sdk-3.23.3-py3-none-any.whl |
|---|---|
| Size | 556.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c70c6919c0f926e4689c325d67b7cd3c4cf74552f84a75a278fb01bfe170f139
|
|
BLAKE2b-256 checksum How to use checksums |
a4e6525c254c6dc534e47888807816adc6a1a03c8c0432ea07ac1ef8a384043e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|