Mit einem vertrauenswürdigen Server (Node, .NET, PHP usw.) führen Sie den Token-Austausch dort aus, damit das Client-Secret nie im Browser ankommt.
Das passt zu eigenen OAuth-Code-Setups. React-SDK und Plain-JS-Popup sind getrennt — Intastellar Sign-In — React und JavaScript.
Ablauf
- Browser schließt Redirect ab und landet mit
codeundstateauf Ihrem Callback. - Callback-Route prüft
state, ruft Backend auf (oder läuft serverseitig im selben Request), um den Code zu tauschen. - Backend
POSTaufTOKEN_ENDPOINTmitgrant_type=authorization_code,code,redirect_uri,client_id,client_secret. - Backend legt Session an (Cookie, Tokens serverseitig).
- Browser erhält nur Ihr Session-Cookie (nicht das Secret).
Beispiel (konzeptionell)
POST TOKEN_ENDPOINT
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=AUTHORIZATION_CODE
&redirect_uri=https%3A%2F%2Fapp.example.com%2Fauth%2Fcallback
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRETPKCE-Parameter ergänzen, wenn der Authorization-Schritt PKCE nutzte oder der Client hybrid ist.
Secret-Aufbewahrung
client_secretaus Umgebungsvariablen oder Secret-Manager.- Bei Leak rotieren; getrennte Credentials pro Umgebung.
Häufige Fragen
Darf das Front-End den Token-Endpunkt mit Secret aufrufen?
Nein. Alles im Browser kann kopiert werden.
Wir nutzen PKCE im Browser — brauchen wir trotzdem das Secret?
Hängt von Client-Typ und Registrierung ab. Öffentlicher Client mit PKCE tauscht oft ohne Secret — Konsole/Referenz prüfen.
Nächste Schritte
Last updated