Bereitstellen. Produkt anbinden. Sicher betreiben.
Das OpenProof Deployment & Developer Handbook führt Ende-zu-Ende von einem frischen Ubuntu- oder Debian-Host zu einem produktionsnahen Identitätsdienst und einer funktionierenden OAuth/OIDC-Integration.
Für wen dieses Handbuch gedacht ist
Dieses Handbuch hat zwei unabhängige Pfade. Operatoren können den Bereitstellungspfad abschließen, ohne Anwendungsentwickler zu sein. Produktteams können mit dem Entwicklerpfad beginnen, sobald ein funktionsfähiger OpenProof-Issuer vorhanden ist.
Bereitstellen & konfigurieren
Installer, Identity Origin, PostgreSQL, kryptografisches Material, E-Mail-Zustellung, Provider, Gateway, TLS und Health Checks.
02{ }Mit OpenProof entwickeln
Anwendungen, Clients, Resources, Authorization Code + PKCE, Token, APIs, Node.js, PHP, C++ und generisches HTTP.
03✓Produktionsbereitschaft
DNS, TLS, Zustellung, Backups, MFA, Scopes/Audiences, Monitoring, Rotation und Fehlerbehebung.
AI◇LLM & MCP
Maschinenlesbare Dokumentation, llms.txt, OpenAPI-first Retrieval und der öffentliche schreibgeschützte Dokumentations-MCP von OpenProof.
Teil I — Bereitstellen und konfigurieren
1. Verifizierte vorgefertigte Runtime installieren
curl -fsSL https://genyleap.com/install/openproof | sudo sh
Der Produktions-Installer erkennt unterstütztes Ubuntu/Debian und die CPU-Architektur, löst ein Release auf, lädt das passende vorgefertigte Bundle herunter und prüft dessen SHA-256-Manifest. Er installiert keinen Compiler und fällt nicht stillschweigend auf einen Source-Build zurück.
2. Identity Origin wählen
Verwenden Sie einen stabilen öffentlichen Hostnamen wie auth.example.com. Dieser wird zum OIDC-Issuer und zur Grundlage für Provider-Callbacks.
issuer: https://auth.example.com callback: https://auth.example.com/auth/federated/callback discovery:https://auth.example.com/.well-known/openid-configuration jwks: https://auth.example.com/.well-known/jwks.json
Wenn das Setup nach bereits initialisiertem PostgreSQL erneut ausgeführt wird, gleicht OpenProof die vorhandene Organisation und den Owner aus der Datenbank ab, statt sie stillschweigend zu ersetzen.
3. PostgreSQL und Secrets
Wählen Sie lokales PostgreSQL für eine kompakte Single-Host-Bereitstellung oder geben Sie eine vorhandene postgres:// / postgresql:// URL an. OpenProof wendet vor dem Öffnen des Listeners prüfsummenbasierte Migrationen an. Der Installer erzeugt dedizierte Signing-, Encryption-, Pepper-, Audit-, Metrics- und Delivery-Secrets mit eingeschränkten Berechtigungen.
4. Verifizierungszustellung konfigurieren
| Modus | Verwenden wenn |
|---|---|
| Authentifiziertes SMTP-Relay | Sie verwenden bereits einen Mail-Provider oder einen authentifizierten SMTP-Dienst. |
| Direktes Postfix / MX | Sie betreiben Mail-Reputation, PTR/rDNS, SPF, DKIM und DMARC selbst. |
| HTTPS-Delivery-Webhook | Sie verfügen bereits über einen internen Benachrichtigungs-/Zustelldienst. |
| Später konfigurieren | Sie möchten OpenProof zunächst betreiben, bevor öffentlicher E-Mail-/Passwort-Self-Service aktiviert wird. |
sudo openproof config delivery
5. Anmeldeprovider konfigurieren
Wählen Sie nur Provider aus, deren reale Zugangsdaten bereitstehen. Google, GitHub, Microsoft, Apple, LinkedIn, Telegram, X, Ethereum und Farcaster können später ohne Neuinstallation von OpenProof konfiguriert werden.
sudo openproof config providers
Übliche Platzhalter wie 0, test, dummy, example and placeholder werden als aufgeschobene Konfiguration statt als echte Provider-Zugangsdaten behandelt.
6. Geschützten Application-Upstream konfigurieren
OpenProof gateway
↓
127.0.0.1:3000
↓
your product backendDas Produkt-Backend muss nicht laufen, damit die eigene Identity-/OAuth-Ebene von OpenProof gesund wird. Ändern Sie Gateway-/Upstream-Einstellungen mit sudo openproof config main.
7. TLS und Ingress
Verwenden Sie Let’s Encrypt für einen echten öffentlichen DNS-Namen, stellen Sie ein vorhandenes Zertifikat bereit oder terminieren Sie TLS an Ihrem eigenen Ingress/Load-Balancer. Reservierte Namen wie *.example.com, *.test and *.invalid verwenden standardmäßig externes/aufgeschobenes TLS statt eines zum Scheitern verurteilten öffentlichen Zertifikatsantrags.
8. Zustand prüfen
sudo openproof status openproof status --full sudo openproof doctor
Senden Sie beim manuellen Prüfen des Loopback-Listeners im Trusted-Proxy-Modus die lokal weitergeleitete Client-Adresse:
curl -fsS \
-H 'X-Forwarded-For: 127.0.0.1' \
http://127.0.0.1:18443/health/ready
{"status":"ok"}Teil II — Mit OpenProof entwickeln
Die Produktintegration verwendet OAuth 2.0/OpenID Connect. Anwendungen erhalten OAuth/OIDC-Token; sie kopieren das OpenProof-Browser-Sitzungscookie nicht in ihre eigene Domain.
User ↓ your app ↓ redirect OpenProof /oauth/authorize ↓ authenticate your callback ?code=...&state=...&iss=... ↓ code + PKCE verifier OpenProof /oauth/token ↓ access_token + id_token + optional refresh_token
1. Anwendung und Client registrieren
Ein aktiver IAL2-Owner kann /admin/console oder die Administrations-API verwenden. Wählen Sie den Client-Typ, der zu Ihrem Produkt passt.
| Client-Typ | Verwendung | Secret |
|---|---|---|
browser | SPA/browser-only public client | Nein |
native | Öffentlicher Mobile-/Desktop-Client | Nein |
web | Serverseitige Webanwendung | Ja, nur Backend |
service | Machine-to-Machine | Ja |
2. Authorization Code + PKCE verwenden
Erzeugen Sie einen Verifier mit hoher Entropie, eine PKCE-S256-Challenge und zufällige Werte für state und einen zufälligen nonce. Validieren Sie beim Callback State und den zurückgegebenen Issuer, bevor der Code ausgetauscht wird.
curl --fail-with-body https://auth.example.com/oauth/token \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=authorization_code' \ --data-urlencode 'client_id=CLIENT_ID' \ --data-urlencode 'code=AUTHORIZATION_CODE' \ --data-urlencode 'redirect_uri=https://app.example.com/oauth/callback' \ --data-urlencode 'code_verifier=PKCE_VERIFIER'
3. OIDC-Token validieren
Dekodieren Sie das ID-Token nicht nur. Prüfen Sie RS256 gegen das JWKS des Issuers und validieren Sie iss, aud, exp, iat und den ursprünglichen nonce; berücksichtigen Sie außerdem nbf, azp and at_hash sofern vorhanden.
4. In Ihrer Sprache arbeiten
JavaScript / Browser
Verwenden Sie das Repository-SDK @openproof/identity für PKCE-, Callback- und ID-Token-Prüfhilfen.
Node.js
Verwenden Sie eine standardkonforme OIDC-Bibliothek oder direktes HTTP/fetch aus Ihrem Backend.
PHPPPHP
Verwenden Sie eine OAuth/OIDC-Bibliothek oder cURL; überlassen Sie JWT/JWK-Validierung einer ausgereiften Bibliothek.
C++C++C++
Das C++26 openproof.sdk Modul erzeugt typisierte PKCE-/Token-/UserInfo-Anfragen.
5. APIs schützen
Registrieren Sie eine Resource mit Audience und Scopes. Validieren bzw. introspektieren Sie anschließend Access-Token im Backend oder platzieren Sie Routen hinter dem OpenProof-Gateway. Produkt-Autorisierung muss enger sein als „Token ist gültig“: Prüfen Sie Audience, Scope und Ihre Geschäftsrichtlinie.
6. Service-to-Service
Verwenden Sie einen service Client mit client_credentials. Er erhält ausschließlich ein Access Token — keine menschliche Sitzung und kein Refresh Token.
Produktions-Checkliste
- Echtes DNS und vertrauenswürdiges HTTPS sind eingerichtet.
- PostgreSQL-Backups sind vorhanden und ein Restore-Test wurde durchgeführt.
- Die Verifizierungszustellung verwendet ein echtes SMTP-Relay/einen Webhook statt Beispiel-Hostnamen.
- Der initiale Owner ist mit MFA/TOTP geschützt.
- Provider-Callbacks entsprechen exakt dem produktiven Identity Origin.
- OAuth-Redirect-URIs sind exakt und PKCE-/State-/Nonce-Validierung ist aktiviert.
- ID-Token werden auf Signatur/Claims validiert; Access-Token werden anhand von Audience und Scope autorisiert.
- Refresh-Token-Rotation wird atomar persistiert.
- Readiness wird überwacht und
openproof doctorbesteht nach Infrastrukturänderungen. - Provider-/Client-/Datenbank-/Signing-Secrets gelangen niemals in Source Control, Logs oder AI-Prompts.
Verwenden Sie das PDF für Implementierungsübergabe, Sicherheitsprüfung oder Offline-Bereitstellung. Nutzen Sie die Web-/API-Referenz für die aktuellsten Endpoint-/Schema-Details.
Referenz
Installer-Leitfaden
Detaillierte Paketinstallation sowie E-Mail- und Provider-Einrichtung.
↗{ }Entwicklerintegration
Sprachbeispiele, OAuth/OIDC, Account-APIs, Gateway und Service-Clients.
↗APIInteraktive API
OpenAPI-gestützte Endpoint-Referenz und Request-Beispiele.
↗AILLM & MCP
Maschinenlesbare Dokumentation und sichere Integrationsgrenzen für AI.