Appliquer un thème personnalisé à une application OpenID Connect dans AD FS

Appliquer un thème personnalisé à une application OpenID Connect dans AD FS

23 octobre 2022 Non Par Stefan Plizga

C’est possible, et même supporté !

Dans AD FS, on peut avoir besoin d’appliquer un thème spécifique à une application SAML/WS-Fed différent du thème global. C’est très facile : il suffit de créer un nouveau thème (voir Custom Web Themes in AD FS) et ensuite on utilise la commande Set-AdfsRelyingPartyWebTheme pour copier le thème vers le Relying Party Trust en question.

Petite note à ce sujet : la commande Set-AdfsRelyingPartyWebTheme réalise une copie du thème, ce qui signifie qu’à chaque modification du thème personnalisé, il faut relancer cette commande pour appliquer la modification au Relying Party Trust. Cela ne s’applique pas au thème actif au global : les Relying Party Trusts sans thème personnalisé prennent en compte les modifications dès que le thème global est modifié.

Pour en revenir au sujet OpenID Connect, on peut utiliser la même technique : la commande Set-AdfsRelyingPartyWebTheme marche aussi pour les applications OpenID Connect, pour les « Web Applications » définies dans les Application Groups dans AD FS.

Voici un exemple.

L’application OpenID Connect a été créée avec le template « Web browser accessing a web application ». L’important est d’avoir une Web Application dans l’Application Group (ça marche aussi avec une Web API). La Web application dans l’Application Group a comme Relying Party Identifier le Client ID de la Native application.

Voici le thème global configuré sur la ferme AD FS que j’utilise (visible en faisant Get-AdfsWebConfig), avec le fond bleu standard AD FS mais sans l’image d’illustration, c’est celui qui s’affiche quand un utilisateur se connecte à l’application OpenID Connect :

Je crée un nouveau thème à partir de celui-ci, que j’appelle Custom, et je modifie le fichier CSS pour avoir un fond rose. Ces étapes sont décrites dans la documentation Microsoft indiquée plus haut.

Ensuite, j’applique le thème Custom à cette Web Application :

Set-AdfsRelyingPartyWebTheme -SourceWebTheme "Custom" -TargetRelyingPartyTrust "OIDC Web Application - Web application"

Le thème Custom est ainsi copié dans l’objet « Web Application » de l’application OIDC, et maintenant on voit bien le thème personnalisé quand on s’authentifie sur l’application, sans modifier le thème appliqué aux autres applications :

— Stefan