Einführung
Paswad ermöglicht es Menschen, sich mit einem Passkey statt einem Passwort in Ihre Anwendung einzuloggen. “Sign in with Paswad” ist im Kern ein lehrbuchmäßiger OAuth 2.1-Authorization-Code-Flow mit PKCE, ergänzt um OpenID Connect für Identität. Wenn Sie zuvor „Sign in with Google“ integriert haben, wird Ihnen dies vertraut vorkommen.
Passwortlos
Nutzer authentifizieren sich mit einem gerätegebundenen Passkey. Phishing-resistent von Grund auf.
Standardbasiert
OAuth 2.1, OIDC-Discovery und JWKS. Verwenden Sie jede konforme Client-Bibliothek, der Sie bereits vertrauen.
Verifizierte Identität
Optionale verifizierte Profil-Claims — Name und E-Mail an der Quelle bestätigt.
id.paswad.com statt. Tokens, Benutzerinformationen und Discovery liegen auf
api.paswad.com. Apps verwalten Sie in console.paswad.com. Siehe
Umgebungen & Basis-URLs. Umgebungen & Basis-URLs
Paswad läuft auf einer kleinen Anzahl stabiler Hosts. Richten Sie Ihren OIDC-Client auf das Discovery-Dokument aus, und er ermittelt den Rest automatisch.
| Host | Verwendet für |
|---|---|
id.paswad.com | Login-UI & der /authorize-Endpunkt — wo sich der Nutzer mit seinem Passkey anmeldet. Außerdem der OIDC-issuer. |
api.paswad.com | API-Oberfläche: Token-Austausch, Benutzerinformationen, OIDC-Discovery und JWKS. |
console.paswad.com | Entwickler-Console — Apps erstellen, Redirect-URIs, Webhooks und Secrets verwalten. |
Wichtige URLs
| Dokument | URL |
|---|---|
| OIDC-Discovery | https://api.paswad.com/.well-known/openid-configuration |
| JWKS (Signierschlüssel) | https://api.paswad.com/.well-known/jwks.json |
Issuer (iss) | https://id.paswad.com |
authorization_endpoint, token_endpoint, userinfo_endpoint und
jwks_uri daraus. Die meisten OIDC-Bibliotheken erledigen das für Sie. Schnellstart
Registrieren Sie Ihre Anwendung einmal und richten Sie dann den Redirect-Flow ein.
- Erstellen Sie eine App in der Console. Gehen Sie zu
console.paswad.com und erstellen Sie eine neue Anwendung. Sie erhalten
eine
client_id(öffentlich) und einclient_secret(vertraulich — bewahren Sie es ausschließlich serverseitig auf). - Registrieren Sie Ihre Redirect-URIs. Fügen Sie jede exakte Callback-URL hinzu, die Ihre App verwendet, z. B.
https://yourapp.com/auth/callback. Redirect-URIs werden exakt abgeglichen — Protokoll, Host, Port und Pfad müssen alle mit einem registrierten Eintrag übereinstimmen. - Wählen Sie Ihre Scopes. Beginnen Sie mit
openid profile email. Siehe die Scopes-Tabelle unten. - Führen Sie Nutzer durch den Flow. Leiten Sie zum Authorization-Endpunkt weiter, tauschen Sie den zurückgegebenen Code gegen Tokens und lesen Sie dann die Benutzerinformationen.
client_id, jedes Secret, jeder Code und jedes Token in dieser Anleitung ist ein Platzhalter. Ersetzen
Sie sie durch Ihre echten Werte aus der Console. Committen Sie niemals ein client_secret in die Versionsverwaltung
und legen Sie es nicht in Browser-Code offen. Token-Austausch
Tauschen Sie den Authorization-code gegen Tokens aus, indem Sie von Ihrem
Server aus per POST an den Token-Endpunkt senden. Fügen Sie den ursprünglichen code_verifier hinzu — Paswad leitet die Challenge erneut ab
und prüft sie gegen die aus Schritt 1.
curl -X POST https://api.paswad.com/v1/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d grant_type=authorization_code \
-d code=ac_8f3d0b1e2c \
-d redirect_uri=https://yourapp.com/auth/callback \
-d client_id=app_live_a1b2c3 \
-d client_secret=sk_live_REPLACE_ME \
-d code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk {
"access_token": "at_live_b7c1...",
"token_type": "Bearer",
"expires_in": 900,
"refresh_token": "rt_live_9a2f...",
"id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6...",
"scope": "openid profile email"
} Node.js-Beispiel
const res = await fetch("https://api.paswad.com/v1/oauth/token", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
grant_type: "authorization_code",
code, // from the callback query
redirect_uri: "https://yourapp.com/auth/callback",
client_id: process.env.PASWAD_CLIENT_ID,
client_secret: process.env.PASWAD_CLIENT_SECRET,
code_verifier: codeVerifier, // the one you stored in step 1
}),
});
const tokens = await res.json();
// tokens.access_token, tokens.id_token, tokens.refresh_token expires_in: 900 Sekunden). Verwenden Sie das
refresh_token, um ein neues Access-Token zu erhalten, ohne den Nutzer erneut durch die Anmeldung zu schicken,
via grant_type=refresh_token am selben Token-Endpunkt. Validieren Sie das id_token
und bestätigen Sie, dass dessen nonce mit dem von Ihnen gesendeten übereinstimmt. Benutzerinformationen
Mit einem gültigen Access-Token können Sie das Profil des authentifizierten Nutzers vom OIDC-UserInfo-Endpunkt abrufen. Die zurückgegebenen Claims hängen von den Scopes ab, die Ihnen gewährt wurden.
curl https://api.paswad.com/v1/oauth/userinfo \
-H "Authorization: Bearer at_live_b7c1..." {
"sub": "usr_2Hk9c1qZ",
"name": "Ada Lovelace",
"email": "[email protected]",
"email_verified": true
} sub als Benutzerschlüssel. Der sub-Claim ist der stabile, eindeutige Identifikator für den Nutzer. Verknüpfen Sie Ihre eigenen Datensätze damit
— E-Mail-Adressen können sich ändern. Scopes
Fordern Sie nur das Nötigste an. Diese Standard-Scopes sind standardmäßig für jede App verfügbar:
| Scope | Gewährt Zugriff auf |
|---|---|
openid | Erforderlich für OIDC. Gibt ein id_token und den sub-Identifikator zurück. |
profile | Grundlegende Profil-Claims, z. B. name. |
email | Die email des Nutzers und das email_verified-Flag. |
Tokens verifizieren (JWKS)
ID-Tokens sind signierte JWTs. Verifizieren Sie sie gegen Paswads öffentliche Signierschlüssel, die als JWKS veröffentlicht werden. Die meisten OIDC-Bibliotheken rufen und cachen dies automatisch für Sie, wenn Sie sie auf das Discovery-Dokument ausrichten.
GET https://api.paswad.com/.well-known/openid-configuration GET https://api.paswad.com/.well-known/jwks.json Prüfen Sie beim Validieren eines id_token, dass:
- die Signatur gegen den JWKS-Schlüssel verifiziert, der zum
kiddes Tokens passt; issgleichhttps://id.paswad.comist;audgleich Ihrerclient_idist;expin der Zukunft liegt undnoncemit dem von Ihnen gesendeten übereinstimmt.
import * as jose from "jose";
const JWKS = jose.createRemoteJWKSet(
new URL("https://api.paswad.com/.well-known/jwks.json")
);
const { payload } = await jose.jwtVerify(idToken, JWKS, {
issuer: "https://id.paswad.com",
audience: process.env.PASWAD_CLIENT_ID,
});
// payload.sub, payload.email, payload.nonce ... Fehler
Fehlgeschlagene Anfragen geben einen JSON-Umschlag mit einem stabilen, maschinenlesbaren error-Code und einer
menschenlesbaren error_description zurück. OAuth-Endpunkte folgen der standardmäßigen OAuth-2.0-/OIDC-Fehlerform.
{
"error": "invalid_grant",
"error_description": "The authorization code is expired or already used.",
"request_id": "req_5fK0pQ"
} Protokollieren Sie die request_id — sie hilft, wenn Sie den Support kontaktieren. Häufige HTTP-Status:
| Status | Bedeutung |
|---|---|
400 Bad Request | Fehlerhafter oder fehlender Parameter — z. B. ein falscher code_verifier, ein nicht unterstützter grant_type oder ein ungültiger Scope. Gibt invalid_request / invalid_grant zurück. |
401 Unauthorized | Client-Authentifizierung fehlgeschlagen (falsche client_id/client_secret) oder das Access-Token fehlt, ist abgelaufen oder ungültig (invalid_token) bei userinfo. |
403 Forbidden | Das Token ist gültig, verfügt aber nicht über den für die Anfrage erforderlichen Scope, oder die App ist dafür nicht freigegeben (insufficient_scope / access_denied). |
404 Not Found | Unbekannter Endpunkt oder unbekannte Ressource. Prüfen Sie, ob Sie den richtigen Host (id. vs api.) und Pfad verwenden. |
429 Too Many Requests | Rate-Limit überschritten. Beachten Sie den Retry-After-Header und warten Sie ab. Siehe Rate-Limits. |
500 Server Error | Ein unerwarteter Fehler auf Paswads Seite. Wiederholen Sie mit Backoff; falls er anhält, kontaktieren Sie den Support mit der request_id. |
Rate-Limits
Alle Endpunkte sind rate-limitiert, um die Plattform schnell und fair zu halten. Limits werden pro
Anwendung angewendet und können je nach Endpunkt variieren. Wenn Sie ein Limit überschreiten, erhalten Sie ein
429 Too Many Requests mit einem Retry-After-Header, der angibt, wie viele Sekunden Sie
vor einem erneuten Versuch warten sollen.
Jede Antwort enthält außerdem informative Header, sodass Sie sich vor dem Erreichen des Limits selbst takten können:
| Header | Bedeutung |
|---|---|
RateLimit-Limit | Die maximale Anzahl an Anfragen im aktuellen Zeitfenster. |
RateLimit-Remaining | Verbleibende Anfragen im aktuellen Zeitfenster. |
RateLimit-Reset | Sekunden, bis das Zeitfenster zurückgesetzt wird. |
Retry-After | Bei einem 429 die Sekunden, die vor einem erneuten Versuch zu warten sind. |
429 auf Retry-After und verwenden Sie exponentiellen Backoff mit Jitter bei
wiederholten Fehlern. Cachen Sie das Discovery-Dokument und JWKS, statt sie bei jeder Anfrage abzurufen. Sitzungen & Abmeldung
Tokens sind bewusst kurzlebig. Ein access_token läuft schnell ab (beispielhaft in
Minuten), und Ihre App hält den Nutzer angemeldet, indem sie das refresh_token bei Bedarf still gegen ein
frisches austauscht. So bleibt ein geleaktes Access-Token nur kurz nützlich.
Einen Nutzer abmelden
- Lokale Abmeldung. Löschen Sie die Sitzung des Nutzers in Ihrer eigenen App und verwerfen Sie die von Ihnen gespeicherten Tokens. Dies meldet ihn aus Ihrer App ab.
- Token-Widerruf. Um ein
refresh_token(oder Access-Token) sofort zu invalidieren — etwa bei „überall abmelden“ — widerrufen Sie es, sodass es nicht mehr ausgetauscht werden kann. Das Discovery-Dokument gibt den Widerrufs-Endpunkt bekannt. - RP-initiierte Abmeldung. Um auch die Paswad-Sitzung des Nutzers zu beenden, leiten Sie ihn an den
OIDC-End-Session-Endpunkt (RP-initiierte Abmeldung) weiter, der in der Discovery angegeben ist, mit Ihrer
in der Console registrierten
post_logout_redirect_uri.
session.revoked und
consent.revoked, damit Ihre App reagiert, wenn ein Nutzer sich abmeldet oder den Zugriff von
einem anderen Gerät entfernt. Webhooks
Abonnieren Sie Events, um Ihre App mit Identitätsänderungen synchron zu halten. Fügen Sie in der
Console einen Webhook-Endpunkt hinzu und wählen Sie die Events aus, die Sie interessieren. Jede Zustellung ist ein HTTP-POST mit einem JSON-Body
und ist HMAC-signiert, sodass Sie verifizieren können, dass sie von Paswad stammt.
| Event | Wird ausgelöst, wenn |
|---|---|
user.signed_in | Ein Nutzer schließt eine Passkey-Anmeldung bei Ihrer App ab. |
payment.signed | Ein Nutzer genehmigt (signiert) eine Transaktionsanforderung. |
passport.updated | Die verifizierten Profil-Claims eines Nutzers ändern sich. |
session.revoked | Eine Sitzung wird widerrufen (Abmeldung, Geräteentfernung oder Admin-Aktion). |
consent.revoked | Ein Nutzer widerruft den Zugriff Ihrer App. |
{
"id": "evt_4tP0aZ",
"type": "user.signed_in",
"created": 1773600000,
"data": {
"sub": "usr_2Hk9c1qZ",
"client_id": "app_live_a1b2c3"
}
} Paswad-Signature-Header: ein HMAC-SHA256 des rohen Anfrage-Bodys,
geschlüsselt mit Ihrem Webhook-Signiergeheimnis (aus der Console). Berechnen Sie es über den rohen Body neu und vergleichen Sie mit
einer Constant-Time-Prüfung, bevor Sie dem Event vertrauen. Best Practices für Sicherheit
Paswad ist standardmäßig sicher, doch die Integration ist eine geteilte Verantwortung. Gehen Sie diese Checkliste durch, bevor Sie ausliefern:
- Verwenden Sie immer PKCE mit
S256. Niemalsplain. Erzeugen Sie einen frischencode_verifierpro Authorization-Anfrage. - Validieren Sie
stateundnonce. Weisen Sie den Callback zurück, wennstatenicht mit dem von Ihnen gespeicherten übereinstimmt; weisen Sie das ID-Token zurück, wennnoncees nicht tut. - Verifizieren Sie die ID-Token-Signatur. Prüfen Sie die JWKS-Signatur sowie
iss,audundexp— siehe Tokens verifizieren. - Halten Sie das
client_secretausschließlich serverseitig. Liefern Sie es niemals in Browser-, Mobil- oder SPA-Code aus. Führen Sie den Token-Austausch in Ihrem Backend durch. - Registrieren Sie exakte Redirect-URIs. Keine Wildcards. Stimmen Sie Protokoll, Host, Port und Pfad ab.
- Verwenden Sie überall HTTPS. Für Ihre Redirect-URIs, Webhook-Endpunkte und alle API-Aufrufe.
- Rotieren Sie Secrets. Rotieren Sie
client_secretund Webhook-Signiergeheimnisse regelmäßig und sofort, wenn Sie eine Offenlegung vermuten. - Verifizieren Sie Webhook-Signaturen. Vergleichen Sie den
Paswad-Signature-Header in konstanter Zeit, bevor Sie auf eine Zustellung reagieren.
SDKs & Bibliotheken
Da Paswad ein standardkonformer OAuth 2.1 + OpenID Connect-Provider ist, benötigen Sie kein Paswad-spezifisches SDK. Jede zertifizierte OIDC-Client-Bibliothek funktioniert — richten Sie sie einfach auf das Discovery-Dokument aus. Einige weit verbreitete Optionen:
| Bibliothek | Verwenden Sie sie für |
|---|---|
openid-client (Node) | Vollständiger OIDC-Client: Discovery, PKCE, Code-Austausch und Token-Validierung. |
jose (Node) | Verifizieren und Dekodieren von JWTs gegen ein entferntes JWKS — siehe das Verifizierungsbeispiel. |
| Standard-OIDC-Bibliotheken (jede Sprache) | Java, Python, Go und andere liefern zertifizierte OIDC-Clients, die das Discovery-Dokument direkt nutzen. |
Integrationsanleitungen
Da Paswad ein standardkonformer OAuth 2.1 / OpenID Connect-Provider ist,
funktioniert es als externer Identitäts-(SSO-)Provider für jede App, die OIDC oder generisches OAuth 2 spricht. Das
Muster ist immer dasselbe: Erstellen Sie eine OAuth-App in der
Paswad Console, registrieren Sie die exakte Callback-URL, die die Plattform
erwartet, kopieren Sie die client_id / das client_secret und richten Sie die Plattform auf Paswads
Endpunkte aus. Verwenden Sie überall diese Hosts:
| Einstellung | Wert |
|---|---|
| Authorization-Endpunkt | https://id.paswad.com/authorize |
| Token-Endpunkt | https://api.paswad.com/v1/oauth/token |
| UserInfo-Endpunkt | https://api.paswad.com/v1/oauth/userinfo |
| OIDC-Discovery | https://api.paswad.com/.well-known/openid-configuration |
| JWKS | https://api.paswad.com/.well-known/jwks.json |
Issuer (iss) | https://id.paswad.com |
| Scopes | openid profile email |
| Anmeldeinformationen erhalten | https://console.paswad.com |
<your-host> durch Ihre echte Domain. Alle
angezeigten client_id / client_secret-Werte sind beispielhafte Platzhalter. Invoice Ninja
Rechnungsstellung & Abrechnung
Invoice Ninja unterstützt Social Login über OAuth/OIDC. Binden Sie es als generischen OpenID Connect-Provider an Paswad an.
https://<your-invoice-ninja>/auth/{provider}/callback - Erstellen Sie in der Paswad Console eine OAuth-App und notieren Sie sich die
client_id(z. B.app_live_xxx) und dasclient_secret(beispielhaft). - Registrieren Sie Invoice Ninjas Callback als Redirect-URI in der Console, z. B.
https://<your-invoice-ninja>/auth/{provider}/callback(ersetzen Sie den Provider-Slug, den Invoice Ninja vergibt). - Richten Sie Invoice Ninjas OpenID/OAuth-Konfiguration auf die Discovery-URL
https://api.paswad.com/.well-known/openid-configuration, Authorizehttps://id.paswad.com/authorize, Tokenhttps://api.paswad.com/v1/oauth/tokenaus. - Fügen Sie die
client_id/ dasclient_secretein und setzen Sie die Scopes aufopenid profile email. - Speichern Sie und testen Sie die Schaltfläche „Sign in with Paswad“ auf dem Anmeldebildschirm.
Moodle
Lernmanagement
Nutzen Sie Moodles integrierte OAuth 2-Dienste mit einem benutzerdefinierten Issuer.
https://<moodle>/admin/oauth2callback.php - Erstellen Sie in der Paswad Console eine OAuth-App und kopieren Sie deren
client_id/client_secret. - Öffnen Sie in Moodle Website-Administration → Server → OAuth 2-Dienste und erstellen Sie einen neuen benutzerdefinierten Dienst.
- Setzen Sie Authorization
https://id.paswad.com/authorize, Tokenhttps://api.paswad.com/v1/oauth/token, UserInfohttps://api.paswad.com/v1/oauth/userinfo, Discoveryhttps://api.paswad.com/.well-known/openid-configuration. - Fügen Sie die
client_id/ dasclient_secretein; Scopesopenid profile email. - Registrieren Sie den von Moodle angezeigten Callback —
https://<moodle>/admin/oauth2callback.php— als Redirect-URI in der Console. - Fügen Sie die Feldzuordnungen
sub → idnumber,email → email,name → fullnamehinzu und aktivieren Sie es anschließend für die Anmeldung.
Nextcloud
Dateien & Zusammenarbeit
Nutzen Sie die App user_oidc oder Social Login.
https://<nextcloud>/apps/user_oidc/code - Registrieren Sie den Callback in der Console:
https://<nextcloud>/apps/user_oidc/code(user_oidc) oderhttps://<nextcloud>/apps/sociallogin/custom_oidc/paswad(Social Login). - Fügen Sie in der App einen Provider hinzu und setzen Sie die Discovery-URL auf
https://api.paswad.com/.well-known/openid-configuration. - Fügen Sie die
client_id/ dasclient_secretein; Scopesopenid profile email.
GitLab
DevOps-Plattform
Fügen Sie Paswad als generischen OpenID Connect-OmniAuth-Provider hinzu.
https://<gitlab>/users/auth/openid_connect/callback - Registrieren Sie den Callback in der Console:
https://<gitlab>/users/auth/openid_connect/callback. - Fügen Sie in
gitlab.rbeinenopenid_connect-Provider mit Issuerhttps://id.paswad.comund Discoveryhttps://api.paswad.com/.well-known/openid-configurationhinzu. - Setzen Sie
client_id/client_secret; Scopesopenid profile email; konfigurieren Sie GitLab neu.
Grafana
Dashboards & Observability
Nutzen Sie die Generic OAuth-Integration in grafana.ini.
https://<grafana>/login/generic_oauth - Registrieren Sie den Callback in der Console:
https://<grafana>/login/generic_oauth. - Setzen Sie unter
[auth.generic_oauth]auth_urlhttps://id.paswad.com/authorize,token_urlhttps://api.paswad.com/v1/oauth/token,api_urlhttps://api.paswad.com/v1/oauth/userinfo. - Setzen Sie
client_id/client_secretundscopes = openid profile email.
Rocket.Chat
Team-Messaging
Fügen Sie einen Custom OAuth-Provider hinzu (Admin → OAuth).
https://<rocketchat>/_oauth/paswad - Registrieren Sie den Callback in der Console:
https://<rocketchat>/_oauth/paswad. - Setzen Sie Authorize URL
https://id.paswad.com/authorize, Token URLhttps://api.paswad.com/v1/oauth/token, Identity URLhttps://api.paswad.com/v1/oauth/userinfo. - Fügen Sie
client_id/client_secretein; Scopeopenid profile email.
Mattermost
Team-Messaging
Nutzen Sie die OpenID Connect / GitLab-artigen SSO-Einstellungen.
https://<mattermost>/signup/openid/complete - Registrieren Sie den Callback in der Console:
https://<mattermost>/signup/openid/complete. - Setzen Sie unter System Console → Authentication → OpenID Connect die Discovery-URL
https://api.paswad.com/.well-known/openid-configuration. - Fügen Sie
client_id/client_secretein; Scopeopenid profile email.
Discourse
Community-Foren
Nutzen Sie das Plugin openid-connect (oder oauth2-basic).
https://<discourse>/auth/oidc/callback - Registrieren Sie den Callback in der Console:
https://<discourse>/auth/oidc/callback. - Setzen Sie in den Plugin-Einstellungen die Discovery-URL
https://api.paswad.com/.well-known/openid-configuration. - Fügen Sie
client_id/client_secretein; Scopeopenid profile email.
Gitea / Forgejo
Selbst gehostetes Git
Fügen Sie eine Authentifizierungsquelle → OAuth2 → OpenID Connect hinzu.
https://<gitea>/user/oauth2/paswad/callback - Registrieren Sie den Callback in der Console:
https://<gitea>/user/oauth2/paswad/callback(der Name der Quelle bildet den Pfad). - Setzen Sie die OpenID Connect Auto Discovery URL auf
https://api.paswad.com/.well-known/openid-configuration. - Fügen Sie
client_id/client_secretein; Scopeopenid profile email.
WordPress
CMS & Publishing
Nutzen Sie das Plugin OpenID Connect Generic.
https://<wordpress>/wp-admin/admin-ajax.php?action=openid-connect-authorize - Registrieren Sie den Callback in der Console:
https://<wordpress>/wp-admin/admin-ajax.php?action=openid-connect-authorize. - Setzen Sie Login URL
https://id.paswad.com/authorize, Token URLhttps://api.paswad.com/v1/oauth/token, UserInfo URLhttps://api.paswad.com/v1/oauth/userinfo. - Fügen Sie
client_id/client_secretein; Scopeopenid profile email.
Plugins
Paswad liefert offizielle und Community-Plugins, sodass Sie
“Sign in with Paswad” zu beliebten Plattformen hinzufügen können, ohne OAuth-Code von
Hand zu schreiben. Jedes Plugin ist ein schlanker Wrapper um dieselben OAuth 2.1 / OpenID Connect-
Endpunkte, die oben dokumentiert sind — sie handhaben den Redirect, den PKCE-Code-Austausch und die
id_token-Validierung für Sie, sodass Sie nur eine client_id /
ein client_secret aus der Paswad Console einfügen und loslegen.
Paswad für WordPress
Paswad für WordPress
Offizielles Plugin · CMS & Publishing
Fügen Sie eine „Sign in with Paswad“-Schaltfläche zu Ihrem WordPress-Anmeldebildschirm hinzu. Ihre Besucher authentifizieren sich mit einem Passkey auf Paswad und werden direkt in WordPress eingeloggt — keine Passwörter, keine zusätzlichen Konten zu verwalten. Das Plugin verbindet WordPress für Sie mit Paswads OAuth 2.1 / OIDC- Endpunkten. Es gibt zwei Wege, es zu installieren.
Aus dem WordPress-Plugin-Verzeichnis installieren
- Gehen Sie in wp-admin zu Plugins → Installieren.
- Suchen Sie im Plugin-Suchfeld nach „Paswad“.
- Klicken Sie auf Jetzt installieren und dann auf Aktivieren.
- Gehen Sie zu Einstellungen → Paswad. Fügen Sie die
client_idund dasclient_secretaus der Paswad Console ein. - Kopieren Sie die Redirect-/Callback-URL, die der Einstellungsbildschirm anzeigt, und registrieren Sie sie exakt in der Console, dann Speichern.
- Eine “Sign in with Paswad”-Schaltfläche erscheint nun auf Ihrem
wp-login-Bildschirm.
Das Plugin herunterladen (Offline-/manuelle Installation)
Demnächst verfügbar
Der herunterladbare Plugin-Build wird fertiggestellt und die
.zip wird in Kürze hier veröffentlicht. Die Schaltfläche und die Schritte unten sind bereit — setzen Sie
ein Lesezeichen auf diese Seite und schauen Sie wieder vorbei.
- Laden Sie die Datei
paswad-wordpress.zipherunter (Link oben). - Gehen Sie in wp-admin zu Plugins → Installieren → Plugin hochladen.
- Wählen Sie die
.zip, klicken Sie auf Jetzt installieren und dann auf Aktivieren. - Konfigurieren Sie es unter Einstellungen → Paswad genau wie in Weg A: fügen Sie Ihre
client_id/ Ihrclient_secretein, registrieren Sie die angezeigte Callback-URL und speichern Sie.
Verbindungseinstellungen (beispielhafte Anmeldeinformationen)
| Einstellung | Wert |
|---|---|
| Authorization-Endpunkt | https://id.paswad.com/authorize |
| Token-Endpunkt | https://api.paswad.com/v1/oauth/token |
| UserInfo-Endpunkt | https://api.paswad.com/v1/oauth/userinfo |
| OIDC-Discovery | https://api.paswad.com/.well-known/openid-configuration |
| Scopes | openid profile email |
client_id | app_live_a1b2c3 (beispielhaft) |
client_secret | sk_live_REPLACE_ME (beispielhaft) |
| Anmeldeinformationen erhalten | https://console.paswad.com |
Weitere Plugins
Native Plugins für weitere Plattformen sind in Arbeit. Bis eines erscheint, können Sie alle davon schon heute über die generischen OIDC-Integrationsanleitungen oben anbinden — Paswad ist ein standardkonformer OpenID Connect-Provider, sodass jede Plattform, die OIDC oder OAuth 2 spricht, sich jetzt mit Paswad anmelden kann.
- ShopifyDemnächst
Storefront & Kundenkonten. Vorerst integrieren Sie über die generische OIDC-Anleitung.
- DrupalDemnächst
CMS & Websites. Bis das native Modul erscheint, nutzen Sie die generische OIDC-Anleitung.
- JoomlaDemnächst
CMS & Publishing. Binden Sie es schon heute über die generische OIDC-Anleitung an.
- MagentoDemnächst
Adobe-Commerce-Storefronts. Nutzen Sie in der Zwischenzeit die generische OIDC-Anleitung.
- GhostDemnächst
Publishing & Mitgliedschaften. Integrieren Sie jetzt über die generische OIDC-Anleitung.
Endpunkt-Referenz
Die vollständige öffentliche Integrationsoberfläche:
| Zweck | Methode & URL |
|---|---|
| Authorization | GET https://id.paswad.com/authorize |
| Token-Austausch / -Refresh | POST https://api.paswad.com/v1/oauth/token |
| Benutzerinformationen | GET https://api.paswad.com/v1/oauth/userinfo |
| OIDC-Discovery | GET https://api.paswad.com/.well-known/openid-configuration |
| JWKS | GET https://api.paswad.com/.well-known/jwks.json |
Bereit zum Entwickeln?
Erstellen Sie Ihre Anwendung und holen Sie sich Ihre Schlüssel in der Entwickler-Console.
Console öffnen