OIDC-basiertes Single Sign-On in memoQ TMS einrichten – Teil 1 – für den Systemadministrator des Unternehmens
memoQ TMS hat verschiedene Arten von Single Sign-On: In diesem Dokument geht es hauptsächlich um OIDC-basiertes SSO. Die Bezeichnungen "Single Sign-On" und "SSO" beziehen sich auf die OIDC-basierte Lösung. Die Bezeichnungen "Windows SSO" und "Windows AD SSO" beziehen sich auf die ältere, auf Windows Active Directory basierende SSO-Lösung von memoQ TMS. Ab Version 9.7 können Windows SSO-Benutzer genauso wie normale memoQ TMS-Benutzer zu OIDC SSO wechseln.
Was Sie benötigen
Bevor Sie mit der Konfiguration beginnen, sollten Sie die folgenden Informationen sammeln. Sie werden diese an verschiedenen Stellen des Prozesses benötigen.
- Eine settings.json-Datei für Ihren Identitätsanbieter (oder Identity Provier; IDP) (Sie finden sie im Ordner %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc\examples).
- Der Subject-Wert aus dem Zertifikat, das der Authentication Manager verwenden wird. Es sollte ein kommerzielles (nicht selbstsigniertes) Zertifikat sein. Es kann das Zertifikat sein, das Ihr memoQ TMS verwendet. Öffnen Sie auf dem Server-Computer die Anwendung Computerzertifikate verwalten (oder führen Sie den Befehl certlm.msc aus). Suchen Sie das Zertifikat im Ordner Zertifikate – Lokaler Computer/Persönlich/Zertifikat. Doppelklicken Sie auf das Zertifikat, dann auf die Registerkarte Details und notieren Sie den Hostnamen im Feld Betreff (z. B. *.meinefirma.com).
- Die Verbindungszeichenfolge für Ihre memoQ TMS-Datenbank: Öffnen Sie den Ordner %PROGRAMDATA%\MemoQ Server und öffnen Sie dann die Datei Configuration.xml in einem Texteditor. Kopieren Sie den Wert zwischen den <SQLConnectionString>-Tags.
- Den Port, den der Authentifizierungsmanager von memoQ verwenden wird. Sie müssen diesen Port in der Firewall öffnen. Standardmäßig ist es 5001.
- Einen Namen für den Identitätsanbieter – dies ist der Name des Identitätsanbieters in der memoQ TMS-Datenbank und ein Teil der Konto-Herkunft-Information im Fenster Benutzerverwaltung von memoQ.
- Einen Anzeigenamen – der Text auf der Schaltfläche "Mit IDP anmelden" auf der Anmeldeseite.
Sollten Sie während der Einrichtung auf ein Problem stoßen, wenden Sie sich an den memoQ-Support.
Einrichtung und Konfiguration
Der Authentication Manager ist ein separater Dienst neben dem memoQ-Server-Service. Er wird zusammen mit memoQ TMS installiert, aber damit er funktioniert, müssen Sie ihn konfigurieren (nachdem Sie Ihr memoQ TMS bei einem Identitätsanbieter registriert haben).

Wenn Sie Ihr memoQ TMS als Client eines Identitätsanbieters registrieren, müssen Sie eine Rückruf-URL festlegen. Von hier aus kann der Identitätsanbieter den Authentication Manager erreichen. Die Rückruf-URL sieht wie folgt aus:
Der Authentication Manager benötigt einen Port (3) für die Kommunikation mit den IDPs. Standardmäßig ist dies der Port 5001. Dieser Port sollte für eingehende und ausgehende Kommunikation offen sein. Falls erforderlich, können Sie in der Datei mit den Anwendungseinstellungen einen anderen Port konfigurieren.
Sie können den letzten Teil (4) der Rückruf-URL frei wählen, aber:
- Er darf nicht "login", "logout" oder "auth" sein.
- Wenn Sie sich bei mehr als einem Identitätsanbieter registrieren lassen, muss dieser Teil für jeden einzelnen eindeutig sein.
Wenn Sie memoQ TMS als Client beim Identitätsanbieter registrieren, erhält memoQ TMS eine ClientID und eine ClientSecret. Sie benötigen diese, um den Authentication Manager zu konfigurieren.

- Sie benötigen keine Implicit Grant-Optionen (Zugriffstoken oder ID-Token).
- Sie benötigen einen Typ User.Read der delegierten Berechtigung.
- Sie sollten /logout als Standard-URL für die Abmeldung festlegen.
Vergewissern Sie sich, dass Ihre Firewall korrekt eingerichtet ist: Der Identitätsanbieter kann verlangen, dass einige Ports auf der Firewall des Unternehmens geöffnet werden. Weitere Informationen finden Sie in der Dokumentation Ihres Identitätsanbieters.

Verwenden Sie ein Zertifikat, das von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wurde. Dies kann das gleiche Zertifikat sein, das memoQ TMS verwendet.
- Der Netzwerkadministrator oder Sicherheitsbeauftragte installiert das Zertifikat auf dem Server-Computer.
- Bearbeiten Sie die Datei appsettings.User.json. Geben Sie den Subject-Wert in das Feld Kestrel.Certificates.Default.Subject ein.

Der Authentication Manager muss Informationen über die folgenden Systemkonfigurationsdaten erhalten:
- Pfad zum SSL-Zertifikat
- Details zur Kommunikation mit der Datenbank
- Hostname(n), den/die er beantworten muss
Richten Sie diese in der Datei %PROGRAMDATA%\MemoQ Server\Oidc Backend\appsettings.User.json ein.
Die Protokollierungsdaten werden jetzt in einer separaten Datei gespeichert, und zwar in %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc\appsettings.json.
Pfad zum SSL-Zertifikat
In einer Produktionsumgebung sollte sich das Zertifikat in einem Zertifikatspeicher befinden. Die Standardeinstellungen unter dem Schlüssel von appsettings.User.json, Kestrel, sind auf diese Weise eingerichtet. Ändern Sie nur den Subject-Wert des Schlüssels: Ersetzen Sie localhost durch den Betreff des Zertifikats, den Sie zuvor notiert haben. Ändern Sie keine anderen Werte.
Im weiteren Verlauf des Installationsprozesses müssen Sie dem Dienstkonto des Authentication Manager Lesezugriff auf dieses Zertifikat gewähren.
Hosts, die den Authentication Manager aufrufen dürfen
In diesem Beispiel steht "*" für einen beliebigen Hostnamen. Wenn Sie den Zugriff beschränken wollen, bearbeiten Sie den Wert des Schlüssels AllowedHosts: Geben Sie eine oder mehrere Domänen (z. B. "*.firma.com") oder bestimmte Hostnamen (z. B. "machine1.firma.com") ein, getrennt durch ein Semikolon (;). Andernfalls bleibt der Wert AllowedHosts unverändert.
Wenn Sie die Portnummer gegenüber dem Standardwert geändert haben, ändern Sie den Teil nach dem Doppelpunkt (:) im Schlüssel urls:
Andernfalls bleibt der Wert urls unverändert.
Kommunikation mit der Datenbank
Der Authentication Manager kommuniziert mit der memoQ TMS-Datenbank. Geben Sie die Verbindungszeichenfolge der memoQ TMS-Datenbank als Wert für den Schlüssel ConnectionStrings.OidcLoginData ein:
Nicht einfach kopieren und einfügen: In der JSON-Datei müssen Sie das Backslash-Zeichen escapen, d. h. "\" in "\\" ändern.
Protokollierung
Die Datei %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc\appsettings.json datei definiert die Details der Protokollierung.
Suchen Sie den Schlüssel "Name": "File" unter Serilog.WriteTo. Die Schlüssel unter Args definieren wichtige Parameter:
path: Standardmäßig wird das Protokoll in der Datei %PROGRAMDATA%\MemoQ Server\Oidc Backend\LogFiles\log-.txt gespeichert.
rollingInterval, rollOnFileSizeLimit, fileSizeLimitBytes: Die Protokolle werden in tägliche Dateien geschrieben (ändern Sie dies nicht), aber wenn die Dateigröße das Limit erreicht (standardmäßig 100 MB), wird eine zweite Datei für diesen Tag erstellt.
retainedFileCountLimit: Standardmäßig werden die letzten 31 Protokolldateien auf dem Server gespeichert.
Standardmäßig ist die Protokollierungsebene Information. Wenn Sie mehr Informationen benötigen, ändern Sie den Wert Serilog.MinimumLevel.Default des Schlüssels auf Debug oder Verbose.
Verbose listet alles auf, sogar Namen und geheime Schlüssel – verwenden Sie es nur, wenn es wirklich notwendig ist und mit den Datenschutzrichtlinien Ihres Unternehmens übereinstimmt.
Diese Einstellungen sind nicht dauerhaft: Wenn Sie memoQ TMS aktualisieren, wird der gesamte Ordner unter %PROGRAMFILES% überschrieben. Dies bedeutet, dass alle Einstellungen in der Datei appsettings.json auf ihre Standardwerte zurückgesetzt werden. Wir empfehlen, sie nicht zu ändern – es sei denn, Sie müssen es wirklich tun.

Einen sichereren Arbeitsordner für den Authentication Manager festlegen (optional)
Aufgrund eines bekannten Problems mit .NET Framework können die Programmdateien für den Authentication Manager und das OIDC-Konfigurations-Tool von Drittanbieter-Software, z. B. einer Antiviren-Anwendung, gelöscht werden. So vermeiden Sie dies: Erstellen Sie eine Umgebungsvariable namens DOTNET_BUNDLE_EXTRACT_BASE_DIR mit dem Geltungsbereich Computer oder System. Setzen Sie den Wert auf %PROGRAMDATA%\Temp\.net.
Dies kann andere .NET-basierte Software auf dem memoQ TMS-Computer beeinträchtigen. Prüfen Sie vor diesem Schritt, ob es auf dem Server andere Programme gibt, die selbstextrahierende ausführbare Einzeldateien verwenden. Wenn ja, prüfen Sie, ob die Änderung sie stören kann.
Dieser Schritt ist später nicht mehr erforderlich: Wenn memoQ auf .NET 5 aktualisiert wird, wird dieses Problem automatisch behoben.
Parameter für Ihren Identitätsanbieter festlegen
Hinweis: Ab November 2023 unterstützt memoQ Azure AD, Azure AD B2C, Google, Microsoft, Okta (sowohl Standard als auch benutzerdefiniert) und OneLogin-Instanzen. Wenn Ihr Unternehmen einen anderen OIDC-basierten Identitätsanbieter nutzt, wenden Sie sich an unsere Abteilung Business Services, die Ihnen die benötigten Ressourcen zur Verfügung stellen kann.
Wählen Sie die Einstellungsdatei für den Identitätsanbieter-Typ Ihres Unternehmens (AzureAD.settings.json, Google.settings.json, Microsoft.settings.json, OktaCustom.settings.json, OktaOrg.settings.json oder OneLogin.settings.json) und legen Sie sie in den Ordner %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc. Öffnen Sie sie in einem Texteditor und fügen Sie Ihre Werte ein:
Parameter | Beschreibung |
---|---|
Template | Die Vorlagendatei, in die Sie die Parameterwerte eintragen. NICHT ÄNDERN! |
Parameters | Siehe unten die Beschreibung der einzelnen Subschlüssel. |
Name | Der Name des Identitätsanbieters in der memoQ TMS-Datenbank, der Schlüsselwert in der Tabelle oidc.IDProviderSettings. Bei Bedarf ändern. |
DisplayName | Der Text auf der Schaltfläche des Identitätsanbieters, die Sie auf der Anmeldeseite sehen. Bei Bedarf ändern. |
ButtonIconUrl | URL für das Symbol des Identitätsanbieters, das auf der Anmeldeseite erscheint. Es gibt eine Standard-URL für das Symbol, aber Sie können eine andere festlegen. |
ButtonBackgroundColor | Farbe für die Schaltfläche des Identitätsanbieters, die auf der Anmeldeseite erscheint. Es gibt eine Standardfarbe, aber Sie können auch eine andere festlegen. |
ButtonTextColor | Textfarbe für die Schaltfläche des Identitätsanbieters, die auf der Anmeldeseite erscheint. Es gibt eine Standardfarbe, aber Sie können auch eine andere festlegen. |
ClientId | Die Client-ID, die der Identitätsanbieter für Ihr memoQ TMS generiert hat. Sie müssen den Standardwert ändern. |
ClientSecret |
Der Client-Schlüssel oder der geheime Schlüssel, den Sie bei der Registrierung Ihres memoQ TMS bei diesem Identitätsanbieter erhalten haben. Sie sollten den Client-Schlüssel nicht in dieser unverschlüsselten json-Datei speichern – es sei denn, es ist absolut notwendig. Lassen Sie diesen Wert leer, und geben Sie den Client-Schlüssel nur ein, wenn Sie den Identitätsanbieter mit dem Konfigurationstool einrichten. |
CallbackPath |
Der letzte Teil der Rückruf-URL, die Sie beim Identitätsanbieter registriert haben. |
Scope | Der OIDC-Bereich, den der Authentication Manager an den Identitätsanbieter senden wird. Standardmäßig umfasst er alle Standardbereichswerte. Sie können Werte nach Bedarf entfernen, aber der Bereich muss den openid-Wert enthalten. Andernfalls funktioniert das Single Sign-On nicht. |
Parameter | Beschreibung |
---|---|
Tenant | Ihr Microsoft Azure-Mandant. Sie müssen den Standardwert ändern. |
TenantId | Ihr Microsoft Azure B2C-Mandant. Sie müssen den Standardwert ändern. |
Domain | Ihre Microsoft Azure B2C-Domäne. Sie müssen den Standardwert ändern. |
UserFlow | Ihr Microsoft Azure B2C-User Flow. Sie müssen den Standardwert ändern. |
OktaDomain | Ihre Okta-Domäne. Sie müssen den Standardwert ändern. |
AuthServerId | Die ID Ihres Okta-Autorisierungsservers. Sie müssen den Standardwert ändern. |
OktaOrg | Die Basis-URL Ihrer Okta-Organisation (ohne http://). Sie müssen den Standardwert ändern. |
Das OIDC-Konfigurationstool ist eine Befehlszeilenanwendung, die dazu dient:
- eine Identitätsanbieter-Verbindung zu registrieren,
- Verbindungsdetails zu konfigurieren,
- den Authentication Manager als Windows-Dienst zu installieren und
- den Dienst zu starten.
Es befindet sich im Ordner %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc. Öffnen Sie eine Eingabeaufforderung oder ein PowerShell-Fenster mit Administratorrechten in diesem Ordner.
Fügen Sie Ihre Identitätsanbieter-Konfiguration mit dem Befehl AddIdProvider hinzu.
MemoQ.Security.Oidc.Backend.ConfigTool.exe AddIdProvider -f [<absoluter_oder_relativer_Pfad>\]<Ihre_Einstellungsdatei>.json
Wenn Sie ein neues Symbol für den Identitätsanbieter einrichten, fügen Sie dessen Pfad (auf Ihrem Computer) mit dem Parameter -i hinzu.
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
Client-Schlüssel festlegen, den Sie vom Identitätsanbieter erhalten haben
Der Client-Schlüssel ist ein Kennwort, daher ist es nicht sicher, ihn in einer Konfigurationsdatei zu speichern. Legen ihn manuell mit dem Konfigurationstool fest.
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetClientSecret -s <Client-Schlüssel> -n Okta
Parameter | Parametername | Erforderlich oder nicht | Beschreibung |
---|---|---|---|
-n |
Name |
erforderlich |
Verwenden Sie denselben Wert wie "Name" in der Einstellungsdatei. |
-s |
ClientSecret |
erforderlich |
Der Wert des Client-Schlüssels, den Sie bei der Registrierung von memoQ TMS im Identitätsanbieter erhalten haben. |
Der Client-Schlüssel wird in Hashform in der Datenbank gespeichert.
Basis-URL für den Authentication Manager festlegen
Verwenden Sie dazu den Befehl SetBackendBaseUrl des Konfigurationstools. Erforderliche Option: -u für die URL.
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetBackendBaseUrl -u <auth_man_base_url>
Die Basis-URL wird erstellt:
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetBackendBaseUrl -u https://memoqserver.mycompany.com:5001
memoQweb-Basis-URLs festlegen
Diese Information ist wichtig, da sie dem Authentication Manager mitteilt, von welchen URLs er Aufrufe als von memoQweb annehmen soll. Anmeldeversuche von dieser URL aus werden als memoQweb-Anmeldungen verarbeitet.
Legen Sie die gleiche URL fest, die Sie für die Anmeldung bei memoQweb verwenden. Sie ist in der Registerkarte Server-Administrator > Konfiguration und Protokollierung > Webadressen zu finden.
Verwenden Sie den Befehl SetMemoQWebBaseUrls des Konfigurationstools. Erforderliche Option: -u für die 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
Authentication Manager-Dienst unter Windows installieren
Verwenden Sie dazu den Befehl InstallService des Konfigurationstools.
Hinweis: Das Konto, das Sie für die Ausführung des Dienstes wählen, muss Lese- und Schreibzugriff auf die memoQ TMS-Datenbank und Lesezugriff auf das Zertifikat haben, das Sie in der Datei appsettings eingerichtet haben. Dies gilt für alle Kontotypen (LocalSystem, NetworkService, VirtualService oder ServiceUser).
Wir empfehlen:
- memoQ TMS in einer Domäne zu haben,
- in dieser Domäne ein eigenes Benutzerkonto zu haben, das alle memoQ-Dienste (memoQ TMS service und MemoQ OIDC Backend Service) ausführt, und
- diesem speziellen Benutzerkonto Zugriff auf das Zertifikat zu gewähren.
Parameter | Parametername | Erforderlich oder nicht | Beschreibung |
---|---|---|---|
-t | AccountType | erforderlich | Der Typ des Kontos, das den Dienst ausführen soll. Mögliche Werte: LocalSystem, NetworkService, VirtualService, ServiceUser. Verwenden Sie im Allgemeinen einen virtuellen Dienst, um den Authentication Manager auszuführen – memoQ TMS läuft auch auf diese Weise. Wenn sich die memoQ TMS-Datenbank jedoch auf einem anderen Server befindet, müssen Sie möglicherweise stattdessen einen Dienstbenutzer verwenden. |
-a | Account | optional | Das Konto, unter dem der Dienst ausgeführt werden soll. Erforderlich und nur verwendet, wenn die Option AccountType ServiceUser ist. |
-p | Password | optional | Das Kennwort für das Konto, unter dem der Dienst ausgeführt wird. Wenn nicht angegeben und die Option AccountType ServiceUser ist, wird die Anwendung interaktiv nach dem Kennwort fragen. |
-s | Start | optional |
Ist dieser Wert auf "true" gesetzt, wird der Dienst nach der Installation gestartet. Der Standardwert ist "false". Abhängig von anderen Optionen startet der Dienst möglicherweise nicht automatisch. führen Sie nach der Installation den Befehl services.msc in Windows aus und starten Sie den MemoQ OIDC Backend Service manuell, falls er nicht läuft. |
MemoQ.Security.Oidc.Backend.ConfigTool.exe InstallService -t VirtualService
MemoQ.Security.Oidc.Backend.ConfigTool.exe InstallService -t ServiceUser -a AuthMan -p L0ngEn0ughIsStr0ngEn0ugh -s true
Authentication Manager-Dienst Lesezugriff auf das Zertifikat gewähren
- On the memoQ TMS machine, run the certlm.msc command.
- In the Manage Computer Certificates window, find the certificate in the Certificates - Local Computer/Personal/Certificate folder.
- Right-click the certificate. In the menu, choose All Tasks > Manage Private Keys.
- In the Permissions for <certificate> private keys window, click the Add button.
- In the Select users... window, enter the name of the Authentication Manager service (if needed, run services.msc to see the list of all services), and click the Check names button.
- When Windows recognizes the service name, click the OK button.
- In the Permissions for <certificate> private keys window, click the service's name. Make sure the service only has Read permission, then click the OK button.
Softwarekomponenten neu starten
An diesem Punkt müssen Sie folgende Dienste neu starten:
- den memoQ TMS-Dienst,
- den IIS-Anwendungspool, der memoQweb ausführt, und
-
den Authentication Manager-Dienst (genannt MemoQ OIDC Backend Service in der Services -Konsole in Windows.
Stellen Sie sicher, dass dieser Dienst auf Automatic eingestellt ist, damit Sie ihn nach dem Neustart des Servers nicht manuell starten müssen.
Der Authentication Manager ist nun auf Ihrem memoQ TMS konfiguriert. Der Server akzeptiert:
- Single Sign-On-Anmeldungen: Die Benutzer wählen einen Identitätsanbieter und melden sich mit den Benutzernamen und Kennwörtern an, die sie bei diesem Identitätsanbieter haben.
- Veraltete SSO-Anmeldungen: Die Benutzer melden sich mit den Benutzernamen und Kennwörtern an, die sie im Windows Active Directory des Unternehmens haben. Aus OIDC-Sicht verhalten sich diese Benutzer wie lokale Anmeldungen, und ab memoQ TMS Version 9.7 können sie auf OIDC-basiertes SSO umgestellt werden.
- Lokale Anmeldungen: Benutzer, die weder über Identitätsanbieter-Anmeldeinformationen noch über Windows AD-Konten verfügen, können weiterhin ihre memoQ-Benutzernamen und -Kennwörter verwenden.
Sie können nun einem memoQ-Admin-Benutzer mitteilen, dass er mit dem Erstellen oder Aktualisieren von Benutzern auf memoQ TMS beginnen soll (siehe Teil 2 dieses Dokuments).
Mehrere Identitätsanbieter mit einem memoQ TMS verwenden
Ein memoQ TMS kann die Benutzerauthentifizierung von mehr als einem Identitätsanbieter akzeptieren. So können beispielsweise zwei Abteilungen eines Unternehmens unterschiedliche Azure AD-Mandanten verwenden, oder interne Mitarbeiter nutzen Okta, während sich externe Anbieter (freiberufliche Übersetzer) mit ihren persönlichen Google- oder Microsoft-Konten anmelden können.
Außerdem können Sie "herkömmliche" Benutzer haben, die sich mit den Anmeldedaten von memoQ TMS anmelden können.
Nicht mehrere Identitätsanbieter pro Benutzer: Ein memoQ-Benutzer kann nur mit einem einzigen Identitätsanbieter verbunden sein – oder mit keinem, wenn er die "traditionelle" memoQ-Anmeldung verwendet.
Versionskompatibilität
OpenID Connect-basiertes SSO funktioniert nur in den Versionen 9.5 und höher. Frühere Versionen von memoQ TMS können Benutzer mit OIDC-Herkunft nicht erkennen und verwalten.
Kein Zurücksetzen auf frühere Versionen: Bei der Installation von OIDC-basiertem SSO auf Ihrem memoQ TMS fügt das Konfigurationstool der memoQ TMS-Datenbank neue Tabellen hinzu. Das bedeutet, dass Sie durch Zurücksetzen nicht zu Ihrer vorherigen Version zurückkehren können.
Weitere Informationen
Siehe Teil 2 dieses Dokuments (für memoQ-Administratoren) hier.
Tipps zur Problembehandlung, allgemeine Benutzerauthentifizierungsschemata und einige Tipps für Testumgebungen finden Sie hier.