OIDC Spécification QoA
Jusqu'à présent, les propriétaires d'applications devaient choisir les méthodes d'authentification exactes (mot de passe, mTAN, AuthApp, Vasco, Kerberos, Smartcard, Mobile ID, clé de sécurité FIDO) que l'utilisateur pouvait utiliser pour accéder à l'application.Avec le nouveau concept QoA, la classe QoA correspondante peut être spécifiée directement dans OIDC, ce qui permet de présenter à l'utilisateur toutes les méthodes d'authentification qui correspondent au moins à ce niveau QoA.
Vous trouverez les informations concernant le concept QoA sous : Qualité de l'authentification (QoA)
eIAM "AuthnContextClasses"
Ce sont les nouvelles "AuthnContextClasses" pour demander l'authentification d'un utilisateur :Authentication Level | AuthnContextClasses |
---|---|
QoA10 | urn:qoa.eiam.admin.ch:names:tc:ac:classes:10 |
QoA20 | urn:qoa.eiam.admin.ch:names:tc:ac:classes:20 |
QoA30 | urn:qoa.eiam.admin.ch:names:tc:ac:classes:30 |
QoA40 | urn:qoa.eiam.admin.ch:names:tc:ac:classes:40 |
QoA50 | urn:qoa.eiam.admin.ch:names:tc:ac:classes:50 |
QoA51 | urn:qoa.eiam.admin.ch:names:tc:ac:classes:51 |
QoA60 | urn:qoa.eiam.admin.ch:names:tc:ac:classes:60 |
Exemple de demande d'authentification OIDC "acr_values"
Vous pouvez demander un QoA spécifique avec le paramètre acr_values dans la demande d'authentification. La valeur du paramètre doit être l'un des urn QoA (par exemple urn:qoa.eiam.admin.ch:names:tc:ac:classes:40), l'urn doit être décodée par url. Si vous indiquez une valeur acr non valide, l'authentification échoue.Ces paramètres doivent être codés en url
Paramètre | Remarques |
---|---|
response_type | Doit toujours être un code. Comme nous ne supportons que le code d'autorisation code flow |
scope | La portée est toujours openid. |
client_id | Fourni par eIAM lors de l'intégration de l'application |
redirect_uri | Toutes les URLs de redirection utilisées par l'application doivent être transmises à eIAM. L'URL fournie avec ce paramètre doit nous être connue, sinon la requête échouera. |
acr_values | Ce paramètre est utilisé pour demander la QoA nécessaire pour accéder à l'application. |
Exemple de "OIDC-Response"
Nous considérons le niveau QoA demandé comme un minimum. Si l'utilisateur atteint un niveau supérieur, nous l'acceptons et en informons l'application dans la réponse.