Comment forcer l'authentification de l'utilisateur à chaque fois avec les applications SAML et OIDC

Parfois, vous devez vous assurer que les utilisateurs s'authentifient à chaque accès à une application, même s'ils ont une session active. Cela peut être utile pour renforcer la sécurité ou respecter des exigences de conformité. Voici comment configurer ce comportement pour les applications OpenID Connect (OIDC) et SAML.


Pour les applications OIDC : utilisez le prompt=login paramètre

OpenID Connect (OIDC) vous permet de forcer l'authentification de l'utilisateur en incluant le prompt=login paramètre dans la demande d'autorisation. Cela garantit que l'utilisateur est invité à se connecter à chaque accès à l'application, quelle que soit sa session existante.

Exemple : demande d'autorisation OIDC

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

Paramètres clés expliqués

  • response_type=code : spécifie le flux de code d'autorisation.
  • client_id : l'identifiant unique de l'application.
  • redirect_uri : l'URI vers laquelle rediriger l'utilisateur après l'authentification.
  • scope : définit les autorisations demandées par l'application.
  • prompt=login : force l'utilisateur à s'authentifier à chaque fois.

Pour les applications SAML : l'attribut ForceAuthn à utiliser

Avec SAML, vous pouvez obtenir le même effet en définissant l'attribut ForceAuthn sur true dans la demande d'authentification. Cela indique au fournisseur d'identité (IdP) d'exiger que l'utilisateur s'authentifie, même s'il a une session active.

Exemple : demande d'authentification SAML

<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>

Attributs clés expliqués

  • ForceAuthn=true : garantit que l'IdP exige l'authentification de l'utilisateur.
  • Issuer : identifie l'entité qui effectue la demande d'authentification.

Pourquoi forcer l'authentification ?

Forcer l'authentification de l'utilisateur à chaque accès à une application peut être bénéfique dans des cas tels que :

  • Sécurité renforcée : empêche tout accès non autorisé dû à des sessions obsolètes.
  • Conformité : respecte les exigences réglementaires en matière d'authentification fréquente.
  • Applications sensibles : protège les applications traitant des données critiques ou confidentielles.

Conclusion

Que vous utilisiez OIDC ou SAML, forcer l'authentification des utilisateurs garantit un niveau de sécurité et de contrôle supérieur sur l'accès à vos applications. Utilisez prompt=login pour les applications OIDC et ForceAuthn=true pour les applications SAML afin de mettre en œuvre cette fonctionnalité efficacement.

Laisser un commentaire