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.