Skip to main content

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/react library now acts as a thin re-export of @empowernow/bff-auth-react for 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-common can validate algorithms at start-up and periodically (opt-in via env FIPS_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)

Source distribution for empowernow-sdk 3.23.3
File Size Uploaded
empowernow_sdk-3.23.3.tar.gz 467.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for empowernow-sdk 3.23.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

3.23.3 This release

2 release files

3.22.3

2 release files

3.22.2

2 release files

3.21.0

2 release files

3.20.0

2 release files

3.13.2

2 release files

3.13.1

2 release files

3.12.2

2 release files

3.12.1

2 release files

3.11.1

2 release files

3.11.0

2 release files

3.9.0

2 release files

3.8.0

2 release files

3.7.0

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.11

2 release files

3.4.10

2 release files

3.4.9

2 release files

3.4.8

2 release files

3.4.7

2 release files

2.4.0

2 release files

2.3.18

2 release files

2.3.16

2 release files

2.3.14

2 release files

2.3.12

2 release files

2.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page