Loading repository data…
Loading repository data…
signward / repository
Official Signward client SDKs — OIDC authentication for Python and JavaScript/TypeScript apps
Official client SDKs for Signward — white-label OIDC authentication you can drop into your apps in minutes. Open source (MIT), no Microsoft-stack dependency.
| Language | Package | Install | Docs |
|---|---|---|---|
| Python | signward-idserver-client | pip install "signward-idserver-client[fastapi]" | Python SDK |
| JavaScript / TypeScript | @signward/idserver-client | npm install @signward/idserver-client | JS/TS SDK |
| .NET | Signward.IdServer.Client | dotnet add package Signward.IdServer.Client | .NET SDK |
| PHP / Laravel | signward/idserver-client | composer require signward/idserver-client | PHP SDK |
python/ — Python SDK for FastAPI, Flask, and other Python appsjs/ — JavaScript / TypeScript SDK for Node.js, Express, and the browserThe .NET SDK (Signward.IdServer.Client) ships via NuGet, and the PHP / Laravel
SDK lives in its own repo,
signward/idserver-client-php
(Packagist: signward/idserver-client).
Python (FastAPI):
from idserver import IdServerClient
from idserver.fastapi import IdServerAuth, CurrentUser
from fastapi import FastAPI, Depends
app = FastAPI()
idserver = IdServerClient(authority="https://mytenant.signward.com", client_id="my-api")
auth = IdServerAuth(idserver)
@app.get("/me")
async def me(user: CurrentUser = Depends(auth.current_user)):
return {"email": user.email, "roles": user.roles}
JavaScript / TypeScript (Express):
import { IdServerClient } from '@signward/idserver-client';
import { requireAuth } from '@signward/idserver-client/express';
const idserver = new IdServerClient({ authority: 'https://mytenant.signward.com', clientId: 'my-api' });
app.get('/me', requireAuth(idserver), (req, res) => res.json({ email: req.user!.email }));
PHP (Laravel):
use Illuminate\Support\Facades\Route;
use Signward\IdServer\Laravel\Facades\IdServer;
// Auto-discovered. Protect routes with the bundled middleware:
Route::middleware('idserver.auth')->get('/me', fn () => IdServer::user()->email);
Route::middleware('idserver.role:admin')->get('/admin', fn () => 'Admin area');
See each package's own README for the full guide.
Full guides, API reference, and per-SDK docs: developer.signward.com
MIT — see python/LICENSE and js/LICENSE.