Einführung
Wenn OAuth2 oder OpenID Connect (OIDC) mit Single Page Applications (Einzelseitenanwendungen, SPAs) laufen sollten, wurde traditionell die implizite Oauth2-Gewährung bzw. der implizite OIDC-Flow verwendet, und viele Entwickler halten es auch weiterhin so. Seit kurzem sieht man aber bei öffentlichen Clients immer öfter die Verwendung des OAuth2-Gewährungsflows für Autorisierungscode (oder des OIDC Autorisierungscode-Flows). Externe Identitätsanbieter (IdP) und Blogger haben sich auf unterschiedliche Weise über die Verwendung des OIDC-Autorisierungscode-Flows bei öffentlichen Clients für SPAs geäußert, aber mit den richtigen Sicherheitsvorkehrungen ist dieser Ansatz praktikabel und birgt mehrere Vorteile, wie unter anderem folgende:
Verwendung von Aktualisierungstoken. (Nicht zu unterschätzen.)
Mehr Kontrolle über die Ablaufzeit der Benutzersitzung mithilfe von spezifizierten Mechanismen.
Konsistenz über verschiedene Anwendungsfälle hinweg (SPAs, native mobile Anwendungen, native Desktop-Anwendungen, Webanwendungen usw.).
Ich bin in früheren Blog-Beiträgen wesentlich ausführlicher auf diese Vorteile eingegangen. Der absehbare Trend in der Branche geht bei öffentlichen Clients stärker in Richtung einer Verwendung des OAuth2-Gewährungsflows für Autorisierungscode (oder des OIDC-Autorisierungscode-Flows). Dieser Blog-Beitrag befasst sich damit, wie man dafür sorgt, dass dieser Ansatz bei SPAs auf sichere Art und Weise verwendet wird