Aller au contenu

Utilisateurs et connexion

Chaque personne qui travaille avec l’invoiceR a besoin d’un utilisateur. Ce qu’un utilisateur peut voir et faire se pilote par des autorisations, de préférence via des rôles (voir Autorisations).

  • À la main : sous Administration > Utilisateurs, vous créez et gérez les utilisateurs directement dans l’invoiceR.
  • Importation depuis Active Directory (LDAP) : une tâche récurrente (Benutzer von ActiveDirectory importieren) lit les utilisateurs d’un groupe AD.
  • Importation depuis Microsoft Entra ID : une tâche récurrente (Benutzer von Azure AD importieren) lit les membres d’un groupe Entra via Microsoft Graph. Les nouveaux utilisateurs sont créés, les utilisateurs modifiés sont mis à jour et les utilisateurs désactivés dans Entra sont supprimés dans l’invoiceR.

Préparer l’importation depuis Microsoft Entra ID

Section intitulée « Préparer l’importation depuis Microsoft Entra ID »
  1. Créez une inscription d’application (ou utilisez-en une existante pour l’invoiceR) et notez le Tenant ID, l’Application (client) ID et le Client Secret.
  2. Sous API permissions, ajoutez pour Microsoft Graph les autorisations d’application User.Read.All, Group.Read.All et GroupMember.Read.All et accordez le Grant admin consent.
  3. Créez dans Entra ID un groupe contenant toutes les personnes qui utilisent l’invoiceR et notez son Object ID.

enio saisit les valeurs dans la configuration de la tâche d’importation :

CléContenu
TenantIdTenant ID du mandant Microsoft.
ClientIdApplication ID de l’inscription d’application.
ClientSecretClient Secret de l’inscription d’application.
GroupObjectIdObject ID du groupe dont les membres sont importés.
DefaultRoleIdsFacultatif. Rôles que les nouveaux utilisateurs reçoivent automatiquement.
UseOnPremisesSamAccountNameAsUsernameFacultatif. true reprend le nom de connexion Windows comme nom d’utilisateur, nécessaire avec l’authentification Windows.

Méthode standard. Les utilisateurs se connectent avec leur Nom d’utilisateur et leur Mot de passe, voir Se connecter et se déconnecter.

Connexion avec Microsoft Entra ID (OpenID Connect)

Section intitulée « Connexion avec Microsoft Entra ID (OpenID Connect) »

Les utilisateurs se connectent avec leur compte Microsoft. Pour cela, l’inscription d’application a besoin en plus de :

  1. Sous Authentication > Add a platform > Web, l’adresse de redirection (Redirect URI) que vous recevez d’enio.
  2. L’option ID tokens.
  3. Sous Token configuration > Add optional claim > ID, le claim email ; confirmez à cette occasion que l’autorisation Microsoft Graph email est activée.

La connexion est configurée dans le backend, dans la section Authentication:OpenId des appsettings.

Authentification Windows (Single Sign-on avec Kerberos)

Section intitulée « Authentification Windows (Single Sign-on avec Kerberos) »

Les utilisateurs du réseau de l’entreprise sont connectés automatiquement avec leur compte Windows. Cela nécessite des réglages dans IIS, dans le domaine et dans les navigateurs.

1. Configurer IIS

  1. Dans le Server Manager, activez la fonctionnalité IIS Windows Authentication.
  2. Pour le site web du backend, activez sous Authentication à la fois Anonymous Authentication et Windows Authentication.
  3. Faites tourner l’Application Pool du backend sous un compte de service du domaine, par exemple CONTOSO\sa-invoicer.
  4. Dans le Configuration Editor (system.webServer/security/authentication/windowsAuthentication), réglez useAppPoolCredentials sur True.

Le fichier web.config du backend contient ensuite :

<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="true" useAppPoolCredentials="true" />
</authentication>
</security>
</system.webServer>

Si IIS signale « This configuration section cannot be used at this path », débloquez d’abord la section au niveau du serveur dans le Configuration Editor (Unlock Section).

2. Entrées SPN dans le domaine

Si le backend est joignable sous un autre nom que le nom du serveur, un administrateur du domaine doit associer l’adresse au compte de service. L’entrée HTTP est nécessaire même si seul HTTPS est utilisé :

setspn -A HTTP/invoicer-backend CONTOSO\sa-invoicer
setspn -A HTTP/invoicer-backend.contoso.ch CONTOSO\sa-invoicer

Un utilisateur sans droits sur le domaine peut aussi vérifier : setspn -L CONTOSO\sa-invoicer.

3. Navigateurs

Les navigateurs n’envoient l’authentification Windows qu’aux adresses de la zone « Intranet local ». Inscrivez les adresses du frontend et du backend dans cette zone par stratégie de groupe et autorisez-y la connexion automatique. Sinon, une fenêtre de connexion apparaît.

4. Activer dans l’invoiceR

Sous Administration > Paramètres, dans l’onglet Autres paramètres, vous activez Activer l’authentification Windows (Single-Sign-On). La page de connexion affiche alors Se connecter avec un utilisateur Windows.

Rechercher les erreurs

  • https://<backend-adresse>/api/TokenAuth/WindowsAuthTest renvoie l’utilisateur Windows reconnu lorsque la configuration fonctionne.
  • Si la fenêtre de connexion revient sans cesse, quelque chose ne va pas avec IIS ou Kerberos (SPN). Si cela fonctionne après une saisie unique, le navigateur ne reconnaît pas l’adresse comme faisant partie de l’intranet.
  • Si les appels répondent avec le statut 302 après l’activation, vérifiez si l’adresse du backend contient des doubles barres obliques dans la configuration.

Si l’authentification Windows est activée ou si la connexion via OpenID Connect est active, l’invoiceR masque Déconnexion dans le menu utilisateur. Une déconnexion ne servirait à rien, car l’utilisateur serait immédiatement reconnecté automatiquement.

Les utilisateurs disposant de l’autorisation Autoriser la déconnexion malgré ‘Windows Authentication’ (General.AllowLogoutDespiteWindowsAuthentication) voient tout de même Déconnexion. Ils peuvent se déconnecter et se connecter avec un autre utilisateur, par exemple pour des tests ou le support. Vous attribuez cette autorisation sous Administration > Les rôles.