Das Modell
in sechs Zeilen
- Standard
- OpenID Connect
- Flow
- Authorization Code mit PKCE (S256)
- Anmeldung
- Gehostet von Noir ID, Passkey zuerst
- Subject
- Paarweise, eines pro Client
- Callbacks
- Exakte URLs, keine Wildcards
- Berechtigungen
- Bleiben in Ihrem Produkt
Welches Muster
Ihre App nutzt
Web-App mit Server
Ihr Server führt den Code Flow aus und verwahrt die Tokens. Der Browser hält nur ein sicheres Sitzungscookie, das für sich allein nichts bedeutet.
Mobile- oder Desktop-App
Öffnen Sie die Anmeldung im Systembrowser, nie in einer eingebetteten Web-View, und empfangen Sie das Ergebnis auf Ihrem registrierten Callback.
Service zu Service
Maschinelle Clients nutzen den Client Credentials Grant, mit eigenen kurzlebigen Tokens.
Vier Schritte
zur fertigen Anmeldung
Client registrieren
Schicken Sie uns den Namen Ihrer App und ihre exakten Callback-URLs. Sie erhalten eine Client-ID und, wenn Ihre App einen Server hat, ein Secret.
Zur Anmeldung weiterleiten
Leiten Sie zum Authorization Endpoint weiter, mit Ihrer Client-ID, dem Callback, dem Scope, einem zufälligen State und einer PKCE-Challenge.
Callback verarbeiten
Prüfen Sie den State, tauschen Sie den Code mit dem PKCE-Verifier ein und validieren Sie das ID-Token: Signatur, Issuer, Audience und Ablaufzeit.
Die Kennung behalten
Verwenden Sie die Kennung, die Noir ID zurückgibt, als Schlüssel Ihres Nutzerdatensatzes. Sie bleibt für Ihren Client gleich und bedeutet anderswo nichts.
So sieht die Anfrage aus
Werte in spitzen Klammern setzen Sie selbst ein. Der Issuer ist https://id.noir.bzh: Lesen Sie die Endpunkte aus seinem Discovery-Dokument, statt sie fest im Code zu hinterlegen.
GET <authorization_endpoint>
?response_type=code
&client_id=<your client id>
&redirect_uri=https://app.example/callback
&scope=openid
&state=<random value>
&code_challenge=<base64url(sha256(verifier))>
&code_challenge_method=S256Was Noir ID nicht tun wird
- Password- oder Implicit-Grants
- Callback-URLs mit Wildcards oder Teilübereinstimmung
- Anmeldung eingebettet in Ihre Seite oder einen iframe
- Offene Client-Registrierung ohne Prüfung
- Entscheiden, was ein Nutzer in Ihrem Produkt darf
Bevor Sie live gehen
- Jede Callback-URL ist genau so registriert, wie sie verwendet wird
- State und PKCE werden bei jeder Anmeldung geprüft
- ID-Tokens werden validiert, nicht nur dekodiert
- Eine fehlgeschlagene Anmeldung wird als fehlgeschlagene Anmeldung behandelt, nicht als Ausfall
- Sie wissen, wie Sie Ihre Nutzer umziehen würden, wenn Sie wechseln
Möchten Siefrüh integrieren?
Erzählen Sie uns, was Sie bauen und welches Muster es nutzt. Frühe Integrationen helfen, die erste Version zu formen.