So erzwingen Sie die Benutzerauthentifizierung bei jedem Zugriff mit SAML- und OIDC-Apps

Manchmal müssen Sie sicherstellen, dass sich Benutzer jedes Mal authentifizieren, wenn sie auf eine Anwendung zugreifen, selbst wenn sie eine aktive Sitzung haben. Das kann nützlich sein, um die Sicherheit zu erhöhen oder Compliance-Anforderungen zu erfüllen. So konfigurieren Sie dieses Verhalten sowohl für OpenID Connect (OIDC)- als auch für SAML-Anwendungen.


Für OIDC-Apps: Verwenden Sie den prompt=login Parameter

Mit OpenID Connect (OIDC) können Sie die Benutzerauthentifizierung erzwingen, indem Sie den Parameter prompt=login in die Autorisierungsanfrage aufnehmen. Dadurch wird sichergestellt, dass der Benutzer jedes Mal zur Anmeldung aufgefordert wird, wenn er auf die App zugreift, unabhängig von seiner bestehenden Sitzung.

Beispiel: OIDC-Autorisierungsanfrage

https://login.microsoftonline.com/common/oauth2/v2.0/authorize
?response_type=code
&client_id=blf6xxxx-xxxx-xxxx-21cd2263xxxx
&redirect_uri=https://jwt.ms
&scope=openid profile User.Read
&prompt=login

Wichtige Parameter erklärt

  • response_type=code: Gibt den Authorization-Code-Flow an.
  • client_id: Die eindeutige Kennung der Anwendung.
  • redirect_uri: Die URI, zu der der Benutzer nach der Authentifizierung weitergeleitet wird.
  • scope: Definiert die Berechtigungen, die die App anfordert.
  • prompt=login: Zwingt den Benutzer, sich jedes Mal zu authentifizieren.

Für SAML-Apps: Verwenden Sie das ForceAuthn Attribut

In SAML können Sie denselben Effekt erzielen, indem Sie das Attribut ForceAuthn auf true in der Authentifizierungsanfrage setzen. Dies weist den Identitätsanbieter (IdP) an, vom Benutzer eine Authentifizierung zu verlangen, selbst wenn er eine aktive Sitzung hat.

Beispiel: SAML-Authentifizierungsanfrage

<samlp:AuthnRequest 
    xmlns="urn:oasis:names:tc:SAML:2.0:metadata" 
    ID="C2d2FH4oiJ5kL6mN7oPQgR9tOUvIw" 
    Version="2.0" 
    IssueInstant="2013-03-18T03:28:54.1839884Z" 
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <ForceAuthn>true</ForceAuthn>
    <Issuer 
        xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
        https://www.contoso.com
    </Issuer>
</samlp:AuthnRequest>

Wichtige Attribute erklärt

  • ForceAuthn=true: Stellt sicher, dass der IdP vom Benutzer eine Authentifizierung verlangt.
  • Issuer: Identifiziert die Entität, die die Authentifizierungsanfrage stellt.

Warum Authentifizierung erzwingen?

Das Erzwingen der Benutzerauthentifizierung bei jedem Zugriff auf eine Anwendung kann in Szenarien wie den folgenden von Vorteil sein:

  • Erhöhte Sicherheit: Verhindert unbefugten Zugriff aufgrund veralteter Sitzungen.
  • Compliance: Erfüllt regulatorische Anforderungen an häufige Authentifizierung.
  • Sensible Anwendungen: Schützt Apps, die kritische oder vertrauliche Daten verarbeiten.

Fazit

Ob Sie OIDC oder SAML verwenden – das Erzwingen der Benutzerauthentifizierung gewährleistet ein höheres Maß an Sicherheit und Kontrolle über den Zugriff auf Ihre Anwendungen. Verwenden Sie prompt=login für OIDC-Apps und ForceAuthn=true für SAML-Apps, um diese Funktion effektiv zu implementieren.

Kommentar hinterlassen