Mettre en place l’authentification unique basée sur OIDC sur un memoQ TMS - Partie 1 - pour l’administrateur du système d’entreprise
memoQ TMS a différents types d’authentification unique: Ce document concerne principalement l’OSS basé sur l’OIDC. Les expressions "authentification unique" et "SSO" font référence à la solution basée sur l’OIDC. Les expressions "Windows SSO" et "Windows AD SSO" font référence à la solution SSO basée sur Windows Active Directory de memoQ TMS. Les utilisateurs SSO Windows peuvent passer au SSO OIDC tout comme les utilisateurs réguliers memoQ TMS.
Ce dont vous avez besoin
Avant de commencer à configurer, rassemblez les informations ci-dessous. Vous aurez besoin de vous à différents points durant le processus.
- Un fichier settings.json pour votre fournisseur d’identité (ou IDP) (trouvez-les dans le dossier %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc\examples )
- La valeur du sujet du certificat que le Gestionnaire d’authentification utilisera. Il devrait s’agir d’un certificat commercial (et non d’un certificat auto-signé). Cela peut être celui que votre memoQ TMS utilise. Sur la machine serveur, ouvrez l’application Gérer les certificats d’ordinateur (ou exécutez la commande certlm.msc ). Trouvez le certificat dans le dossier Certificats - Ordinateur local/Personnel/Certificat. Double-cliquez sur le certificat, cliquez sur l’onglet Détails et notez le nom d’hôte dans le champ Sujet (par exemple, *.monentreprise.com).
- La chaîne de connexion pour votre memoQ TMS base de données: Ouvrez le dossier %PROGRAMDATA%\memoQ Server, et ouvrez Configuration.xml dans un éditeur de texte. Copiez la valeur entre les <SQLConnectionString> balises.
- Le port que le Gestionnaire d’authentification de memoQ utilisera. Vous devez ouvrir ce port sur le pare-feu. Par défaut, c’est 5001.
- Un nom pour l’IDP - ce sera le nom de l’IDP dans la memoQ TMS base de données, et une partie des informations sur l’origine du compte dans la fenêtre Gestion des utilisateurs de memoQ.
- Un nom d’affichage - le texte sur le bouton "Se connecter avec IDP" sur la page de connexion.
Si vous rencontrez un problème lors de la configuration, contactez le support de memoQ.
Configuration et configuration
Le Gestionnaire d’authentification est un service distinct du service memoQ Server. Il est installé avec memoQ TMS, mais pour le faire fonctionner, vous devez le configurer (après avoir enregistré votre memoQ TMS auprès d’un fournisseur d’identifiants).

Lors de l’enregistrement de votre memoQ TMS en tant que client d’un service de fournisseur d’identité, vous devez définir une URL de rappel. C’est ici que l’IDD peut atteindre le Gestionnaire d’authentification. L’URL de rappel ressemble à ceci:
Le Gestionnaire d’authentification a besoin d’un port (3) pour communiquer avec les IDP. Par défaut, c’est le port 5001. Ce port devrait être ouvert pour les communications entrantes et les communications sortantes. Si nécessaire, vous pouvez configurer un port différent dans le fichier des paramètres de l’application.
Vous pouvez choisir la dernière partie de l’URL de rappel (4) selon les besoins, mais:
- Il ne doit pas s’agir de « connexion », « connexion » ou « authentification ».
- Si vous vous inscrivez auprès de plusieurs fournisseurs d’identité, cette partie doit être unique pour chacun d’entre eux.
Lorsque vous enregistrez le memoQ TMS en tant que client auprès du fournisseur d’ID, le memoQ TMS reçoit un ID client et un client. Vous aurez besoin de ces éléments pour configurer le Gestionnaire d’authentification.

- Vous n’avez pas besoin des options de Grant implicite (jetons d’accès ou jetons d’identité)
- Vous avez besoin d’un droit d’accès de type utilisateur.Read
- Vous devriez définir /logout comme l’URL de déconnexion par défaut.
Assurez-vous que votre pare-feu est configuré correctement: Le fournisseur d’identité pourrait exiger l’ouverture de certains ports sur le pare-feu de l’entreprise. Pour en savoir plus, consultez la documentation de votre fournisseur d’identité.

Utilisez un certificat délivré par une autorité de certification de confiance. Ce peut être le même certificat que memoQ TMS utilise.
- L’administrateur réseau ou l’administrateur de sécurité installe le certificat sur l’ordinateur serveur.
- Modifiez le fichier appsettings.User.json. Entrez la valeur du sujet dans le champ Kestrel.Certificates.Default.Subject.

Le Gestionnaire d’authentification doit se renseigner sur ces données de configuration du système:
- Chemin vers le certificat SSL
- Détails de la communication avec la base de données
- Nom d’hôte(s) doit répondre
Configurez-les dans le fichier %PROGRAMDATA%\memoQ Server\Oidc Backend\appsettings.User.json.
Les détails de journalisation sont maintenant stockés dans un fichier séparé, %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc\appsettings.json.
Chemin vers le certificat SSL
Dans un environnement de production, le certificat devrait se trouver dans un magasin de certificat. Les paramètres par défaut sous la cléKestrel de appsettings.User.json sont configurés de cette façon. Change seulement la valeur de la clé sujet: remplacez localhost par le sujet du certificat que vous avez noté auparavant. Ne pas changer d’autres valeurs.
Plus tard dans le processus d’installation, vous devez accorder un accès en lecture à ce certificat pour le compte de service du gestionnaire d’authentification.
Hôtes autorisés à appeler le Gestionnaire d’authentification
Dans cet exemple, “*” représente n’importe quel nom d’hôte. Si vous voulez limiter l’accès, modifiez la valeur de la clé AutoriserHosts: Entrez un ou plusieurs domaines (par exemple, “*.company.com”) ou des noms d’hôtes spécifiques (par exemple, "machine1.company.com"), séparés par des points-virgules ( ;). Sinon, laissez la valeur AllowedHosts inchangée.
Si vous avez changé le numéro de port par défaut, changez la partie après le colon ( :) dans les touches URL:
Sinon, laissez la valeur URL inchangée.
Communication avec la base de données
Le Gestionnaire d’authentification communique avec la memoQ TMS base de données. Entrez la memoQ TMS chaîne de connexion de la base de données comme valeur pour la clé ConnectionStrings.OidcLoginData:
Ne vous contentez pas de copier et coller: Dans le fichier JSON, vous devez échapper le caractère backslash - c’est-à-dire changer "\" en "\\".
Journalisation
Le fichier %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc\appsettings.json définit les détails de journalisation.
Trouver la clé "Name": "File" sous Serilog.WriteTo. Les clés sous Args ici définissent les paramètres importants:
path: Par défaut, le journal est stocké dans le fichier %PROGRAMDATA%\memoQ Server\Oidc Backend\LogFiles\log-.txt.
rollingInterval, rollOnFileSizeLimit, fileSizeLimitBytes: Les journaux sont écrits dans des fichiers journaliers (ne changez pas cela), mais si la taille du fichier atteint la limite (100 Mo par défaut), un second fichier sera créé pour ce jour.
retainedFileCountLimit: Par défaut, les 31 derniers fichiers journaux sont conservés sur le serveur.
Par défaut, le niveau de journalisation est Information.
Les répertories verboses tout, même les noms et les secrets – utilisez-le seulement lorsque c’est vraiment nécessaire, et seulement s’il respecte les règles de protection des données de votre organisation.
Ces paramètres ne sont pas permanentes: Lorsque vous mettez à jour memoQ TMS, tout son dossier sous %PROGRAMFILES% est écrasé. Cela signifie que tous les paramètres dans appsettings.json reviendront à leurs valeurs par défaut. Vous recommandez de ne pas changer les - à moins que vous en ayez vraiment besoin.

Définir un dossier de travail plus sûr pour le Gestionnaire d’authentification (optionnel)
En raison d’un problème connu avec le .NET Framework, les fichiers du programme pour le Gestionnaire d’authentification et l’outil de configuration OIDC pourraient être supprimés par un logiciel tiers, par exemple, une application antivirus. Pour éviter cela: Créez une variable d’environnement appelée DOTNET_BUNDLE_EXTRACT_BASE_DIR, avec une étendue Machine ou Système. Définissez sa valeur à %PROGRAMDATA %\Temp\.net.
Cela peut affecter d’autres .NET logiciels sur l’ordinateur memoQ TMS. Avant cette étape, vérifiez s’il y a d’autres programmes sur le serveur qui utilisent des exécutables monofichiers. Si oui, vérifiez si la modification peut les perturber.
Cette étape ne sera pas nécessaire plus tard. Lorsque memoQ sera mis à jour vers .NET 5, ce problème sera résolu automatiquement.
Définir les paramètres pour votre fournisseur d’identité
Remarque : À partir de novembre 2023, memoQ prend en charge Azure AD, Azure AD B2C, Google, Microsoft, Okta (à la fois standard et personnalisé) et les instances OneLogin. Si votre entreprise utilise un autre service de fournisseur d’identité basé sur OIDC, contactez notre département des Services aux entreprises, qui peut vous fournir les ressources dont vous avez besoin.
Choisissez le fichier de paramètres pour le type de fournisseur d’identité de votre entreprise(AzureAD.settings.json,Google.settings.json,Microsoft.settings.json,OktaCustom.settings.json,OktaOrg.settings.json ou OneLogin.settings.json) et placez-le dans le dossier %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc. Ouvrez-le dans un éditeur de texte et ajoutez vos valeurs:
Paramètre | Description |
---|---|
Template | Le fichier modèle que vous remplissez avec les valeurs des paramètres. NE PAS CHANGER! |
Parameters | Voir la description de chaque sous-clé ci-dessous. |
Name | Le nom du fournisseur d’identité dans la base de données memoQ TMS, la valeur clé dans la table oidc.IDProviderSettings. Change selon le besoin. |
DisplayName | Le texte sur le bouton du fournisseur d’identité que vous verrez sur la page de connexion. Change selon le besoin. |
ButtonIconUrl | URL de l’icône du fournisseur d’identité qui apparaît sur la page de connexion. Il y a une icône par défaut URL, mais vous pouvez en définir une autre. |
ButtonBackgroundColor | Couleur pour le bouton du fournisseur d’identité qui apparaît sur la page de connexion. Il y a une couleur par défaut, mais vous pouvez en définir une autre. |
ButtonTextColor | Couleur du texte pour le bouton du fournisseur d’identité qui apparaît sur la page de connexion. Il y a une couleur par défaut, mais vous pouvez en définir une autre. |
ClientId | L’ID de client que le fournisseur d’ID a généré pour votre memoQ TMS. Vous devez changer la valeur par défaut. |
ClientSecret |
Le secret du client ou la clé secrète que vous avez reçue lors de l’enregistrement de votre memoQ TMS auprès de ce fournisseur d’identité. Vous ne devriez pas enregistrer le secret du client dans ce fichier json non crypté - à moins que ce ne soit absolument nécessaire. Laissez cette valeur vide et entrez le secret du client uniquement lorsque vous configurez l’identifiant fournisseur avec l’outil de configuration. |
CallbackPath |
La dernière partie de l’URL de rappel que vous avez enregistrée auprès du fournisseur d’identité. |
Scope | L’étendue OIDC que le Gestionnaire d’authentification enverra au fournisseur d’identification. Par défaut, cela inclut toutes les valeurs d’étendue standard. Vous pouvez supprimer des valeurs au besoin, mais l’étendue doit contenir la valeur openid. Sinon, l’authentification unique ne fonctionnera pas. |
Paramètre | Description |
---|---|
Tenant | Votre locataire Microsoft Azure. Vous devez changer la valeur par défaut. |
TenantId | Votre locataire Microsoft AzureB2C. Vous devez changer la valeur par défaut. |
Domain | Votre domaine Microsoft Azure B2C. Vous devez changer la valeur par défaut. |
UserFlow | Votre flux d’utilisateur Microsoft Azure B2C. Vous devez changer la valeur par défaut. |
OktaDomain | Votre domaine Okta. Vous devez changer la valeur par défaut. |
AuthServerId | L’ID du serveur d’autorisation de votre Okta. Vous devez changer la valeur par défaut. |
OktaOrg | L’URL de base de votre organisation Okta (sans http://). Vous devez changer la valeur par défaut. |
L’outil de configuration OIDC est une application de ligne de commande conçue pour:
- Enregistrer une connexion de fournisseur d’identité
- Configurer les détails de connexion
- Installez le Gestionnaire d’authentification en tant que service Windows
- Commencer le service
Il se trouve dans le dossier %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc. Ouvrez une invite de commandes ou une fenêtre PowerShell avec des droits d’administrateur dans ce dossier.
Ajoutez votre configuration de votre fournisseur d’identité avec la commande AddIdProvider de l’outil de configuration.
MemoQ.Security.Oidc.Backend.ConfigTool.exe AddIdProvider -f [<chemin_absolu_ou_relatif>\]<votre_fichier_de_paramètres>.json
Si vous configurez une nouvelle icône pour le fournisseur d’identité, ajoutez son chemin d’accès (sur votre ordinateur) avec le -i paramètre.
MemoQ.Security.Oidc.Backend.ConfigTool.exe AddIdProvider -f AzureAD.settings.json
MemoQ.Security.Oidc.Backend.ConfigTool.exe AddIdProvider -f C:\SSO-Ingredients\OktaOrg.settings.json -i C:\SSO-Ingredients\OktaIcon.png
Définissez le secret du client que vous avez reçu de l’IDD
Le secret client est un mot de passe, donc il n’est pas sécuritaire de l’enregistrer dans un fichier de configuration. Réglez-le manuellement avec l’outil de configuration.
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetClientSecret -s <client_secrét> -n Okta
Paramètre | Nom du paramètre | Requis ou non | Description |
---|---|---|---|
-n |
Name |
required |
Utilisez la même valeur que « Nom » dans le fichier de paramètres. |
-s |
ClientSecret |
required |
La valeur secrète client que vous avez reçue lors de l’enregistrement du memoQ TMS dans le service fournisseur d’identités. |
Le secret client sera stocké sous forme hachée dans la base de données.
Définir l’URL de base pour le Gestionnaire d’authentification
Faites cela avec la commande SetBackendBaseUrl de l’outil de configuration. Option requise: -u pour l’URL.
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetBackendBaseUrl -u <auth_man_base_url>
L’URL de base est construite:
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetBackendBaseUrl -u https:/memoqserver.mycompany.com:5001
Définir memoQweb URL de base
Cette information est importante car cela indique au Gestionnaire d’authentification depuis quelles URL il devrait accepter les appels à partir de memoQweb. Les tentatives de connexion provenant de cette URL seront traitées comme memoQweb identifiants.
Définissez la même URL que vous utilisez pour vous connecter à memoQweb. Il peut être trouvé sur l’Administrateur de serveur > Configuration et journalisation > onglet adresses Web.
Utilisez la commande SetMemoQWebBaseUrls de l’outil de configuration. Option requise: -u pour l’URL.
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetMemoQWebBaseUrls -u <memoqweb_base_url>
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetMemoQWebBaseUrls -u https:/memoqserver.mycompany.com/memoqweb
Installer le service de gestionnaire d’authentification dans Windows
Faites cela avec la commande InstallService de l’outil de configuration.
Remarque : Le compte que vous choisissez pour faire fonctionner le service doit avoir un accès en lecture et en écriture à la base de données memoQ TMS et un accès en lecture au certificat que vous avez configuré dans le fichier appsettings. Cela est vrai pour tous les types de comptes(LocalSystem,NetworkService,VirtualService ou ServiceUser).
Nous recommandons:
- ayant le memoQ TMS dans un domaine,
- dans ce domaine, avoir un compte utilisateur dédié qui exécute tous les services memoQ (le memoQ TMS service et le service de backend OIDC de MemoQ)
- ce compte utilisateur dédié devrait avoir accès au certificat.
Paramètre | Nom du paramètre | Requis ou non | Description |
---|---|---|---|
-t | AccountType | required | Le type de compte qui fera fonctionner le service. Valeurs possibles: LocalSystem, NetworkService, VirtualService, ServiceUser. En général, utilisez un service virtuel pour faire fonctionner le Gestionnaire d’authentification - memoQ TMS fonctionne également de cette manière. Mais si la base de données de votre memoQ TMS est sur un autre serveur, vous devrez peut-être utiliser un utilisateur de service à la place. |
-a | Account | facultatif | Le compte qui fera fonctionner le service. Obligatoire et utilisé seulement si l’option AccountType est ServiceUser. |
-p | Password | facultatif | Le mot de passe pour le compte qui fera fonctionner le service. Si non spécifié, et l’option AccountType est ServiceUser, l’application demandera le mot de passe de manière interactive. |
-s | Start | facultatif |
Si vrai, démarre le service après l’installation. La valeur par défaut est false. Selon d’autres options, le service peut ne pas démarrer automatiquement. Après l’installation, exécutez la commande services.msc dans Windows et démarrez manuellement le service de backend OIDC de memoQ s’il n’est pas en cours d’exécution. |
MemoQ.Security.Oidc.Backend.ConfigTool.exe InstallService -t VirtualService
MemoQ.Security.Oidc.Backend.ConfigTool.exe InstallService -t ServiceUser -a AuthMan -p L0ngEn0ughIsStr0ngEn0ugh -s true
Accord erau Gestionnaire d’authentification un accès en lecture pour le certificat
- Sur l’ordinateur memoQ TMS, exécutez la commandecertlm.msc.
- Dans la fenêtre Gérer les certificats d ’ordinateur, trouvez le certificat dans le dossier Certificats - Ordinateur local/Personnel/Certificat.
- Faites un clic droit sur le certificat. Dans le menu, choisissez Toutes les tâches > Gérer les clés privées.
- Dans la fenêtre des droits d’accès pour les clés privées de certificat <certificate> , cliquez sur le bouton Ajouter.
- Dans la fenêtre Sélectionner des utilisateurs..., entrez le nom du service Gestionnaire d’authentification (si nécessaire, exécutez services.msc pour voir la liste de tous les services), et cliquez sur le bouton Vérifier les noms.
- Lorsque Windows reconnaît le nom du service, cliquez sur le bouton OK.
- Dans la fenêtre des droits d’accès pour les clés privées de <certificat> , cliquez sur le nom du service. Assurez-vous que le service n’a que le droit d’accès en lecture, puis cliquez sur le bouton OK.
Redémarrer les éléments du logiciel
À ce stade, vous devez redémarrer:
- le memoQ TMS service
- le groupe d’applications IIS qui exécute memoQweb
-
le service Gestionnaire d’authentification (appelé Service de backend OIDC memoQ dans la console des Services de Windows)
Assurez-vous que ce service est réglé sur Automatique, afin que vous n’ayez pas besoin de le démarrer manuellement après le redémarrage de l’ordinateur du serveur.
Le Gestionnaire d’authentification est maintenant configuré sur votre memoQ TMS. Le serveur accepte:
- Identifiants SSO: Les utilisateurs choisissent un service de fournisseur d’identité et se connectent avec les noms d’utilisateur et les mots de passe qu’ils ont auprès de ce fournisseur d’identité.
- Identifiants SSO hérités: Les utilisateurs se connectent avec les noms d’utilisateur et les mots de passe qu’ils ont dans le Windows Active Directory de l’entreprise. Du point de vue de l’OIDC, ces utilisateurs se comportent comme des connexions locales, et à partir de memoQ TMS version 9.7, ils peuvent être modifiés pour un SSO basé sur l’OIDC.
- Identifiants locaux: Les utilisateurs qui n’ont ni identifiants de fournisseur d’identité ni comptes Windows AD peuvent toujours utiliser leurs noms d’utilisateur et mots de passe memoQ.
Vous pouvez maintenant dire à un utilisateur administrateur de memoQ de commencer à créer ou à mettre à jour des utilisateurs sur le memoQ TMS (voir la partie 2 de ce document).
Utilisant plusieurs fournisseurs d’identité avec un memoQ TMS
Un memoQ TMS peut accepter l’authentification de l’utilisateur provenant de plusieurs systèmes d’identification. Par exemple, deux départements d’une entreprise pourraient utiliser différents locataires Azure AD, ou les employés internes pourraient utiliser Okta, tandis que les fournisseurs externes (traducteurs indépendants) peuvent se connecter avec leurs comptes personnels Google ou Microsoft.
De plus, vous pouvez avoir les utilisateurs « traditionnels » qui peuvent se connecter avec des identifiants memoQ TMS.
Pas de systèmes IDP multiples par utilisateur: Un utilisateur de memoQ ne peut être connecté qu’à un seul système IDP - ou à aucun, s’il utilise la connexion « traditionnelle » de memoQ.
Compatibilité des versions
Le SSO basé sur OpenID Connect fonctionne uniquement dans les versions 9.5 et supérieures. Les versions antérieures de memoQ TMS ne peuvent pas reconnaître et gérer les utilisateurs d’origine OIDC.
Aucun retour en arrière vers des versions antérieures: Lors de l’installation de la SSO basée sur OIDC sur votre memoQ TMS, l’outil de configuration ajoute de nouvelles tables à la base de données memoQ TMS. Cela signifie que vous ne pouvez pas utiliser le dropback pour revenir à votre version précédente.
Plus d’informations
Voir la partie 2 de ce document (pour les administrateurs de memoQ) ici.
Voir les conseils de résolution de problèmes, les schémas d’authentification des utilisateurs généraux et quelques conseils pour les environnements de test ici.