Altova MapForce Server 2024 Advanced Edition

Mit Hilfe von Anmeldeinformationsobjekten können Authentifizierungsdaten (wie Benutzernamen, Passwörter und OAuth-Authentifzierungsinformationen) zwischen verschiedenen Mapping-Ausführungsumgebungen auf sichere Art portabel gemacht werden. Anmeldeinformationen eignen sich für die Verwendung in Mappings, für die eine einfache HTTP-Authentifizierung oder eine OAuth 2.0-Authentifizierung erforderlich ist. Anmeldeinformationen können sowohl in MapForce als auch FlowForce Server definiert werden. Wenn die Anmeldeinformationen in MapForce definiert wurden, können diese, ähnlich wie Mappings, optional auch auf FlowForce Server bereitgestellt werden.

 

Nachdem Sie das Mapping zu einer MapForce Server-Ausführungsdatei (.mfx) kompiliert haben, führt MapForce Server die .mfx-Datei gemäß der von Ihnen zum Zeitpunkt des Designs des Mapping getroffenen Auswahl aus.

 

Wenn Sie bei der Erstellung der Anmeldeinformationen in MapForce das Kontrollkästchen Verschlüsselt in MapForce Server-Ausführungsdatei und Mapping-Bereitstellung inkludieren aktiviert haben, verwendet MapForce Server zur Mapping-Laufzeit die in der .mfx-Datei gespeicherten Anmeldeinformationen. Das bedeutet, Sie können das Mapping mit einem Befehl wie dem folgenden ausführen:

 

<exec> run mapping.mfx

 

Hierbei steht <exec> für den Pfad zur ausführbaren MapForce Server-Datei. Dieser Pfad kann entweder ein absoluter sein oder Sie können nur den Namen der ausführbaren Datei eingeben, wenn das aktuelle Verzeichnis dasselbe wie das der ausführbaren Datei ist.

 

Wenn Sie in MapForce nur den Namen der Anmeldeinformationen (ohne Benutzernamen und Passwort) eingegeben haben, müssen Sie diese Informationen mit Hilfe der Befehlszeilenoption --credential des Befehls run zur Mapping-Laufzeit explizit bereitstellen. Auf diese Art können Sie z.B. in der Produktion andere Anmeldeinformationen als zum Zeitpunkt des Mapping-Designs verwenden. Die Option --credential hat die Form --credential=KEY:VALUE., wobei

 

KEY der Name der in MapForce definierten Anmeldeinformationen ist.

VALUE eine Anmeldeinformationseigenschaft oder eine durch das Zeichen (&) getrennte Liste von Eigenschaften ist. Bei Anmeldeinformationen vom Typ "Passwort" sind die möglichen Eigenschaften username und password. Bei Anmeldeinformationen vom Typ OAuth 2.0 ist die einzige unterstützte Eigenschaft die Eigenschaft oauth:token.

Die eigentlichen Eigenschaftswerte werden genau wie Abfrageparameter in einer URL mit Hilfe des Zeichens "=" bereitgestellt.

 

Zum Beispiel:

 

<exec> run mapping.mfx --credential="mycredential:username=admin&password=4xJ38dnx7"

 

Der Wert der Option --credential im Codefragment oben wurde in Anführungszeichen gesetzt, damit der Wert als Literal behandelt wird, da der Benutzername und das Passwort durch ein Kaufmännisches Und-Zeichen voneinander getrennt sind.

 

Wenn mehrere benannte Anmeldeinformationsobjekte erforderlich sind, damit Ihr Mapping ausgeführt werden kann, können Sie die Option --credential mehrmals definieren.

 

Anmeldeinformationen, die als Befehlszeilenoptionen bereitgestellt werden, haben Vorrang vor gespeicherten Anmeldeinformationen.

 

Wenn Sie die Option Verschlüsselt in MapForce Server-Ausführungsdatei und Mapping-Bereitstellung inkludieren nicht aktiviert haben, fehlen die Felder mit den sensiblen Daten, d.h. Sie müssen in der Befehlszeile das Passwort angeben, während Sie das Anmeldeinformationsobjekt anhand seines Namens referenzieren, z.B:

 

<exec> run mapping.mfx --credential=mycredential:password=4xJ38dnx7

 

Die folgenden Felder gelten als Felder, die sensible Daten enthalten:

 

Passwort (bei Anmeldeinformationen vom Typ "Passwort")

Client Secret, Access Token und Refresh Token (bei Anmeldeinformationen vom Typ "OAuth 2.0")

 

Bei Mappings, für die eine OAuth 2.0-Autorisierung erforderlich ist, wird in der MapForce Server-Befehlszeile zur Mapping-Laufzeit ein OAuth 2.0 Access Token als Input akzeptiert. Beachten Sie, dass es in der MapForce Server-Befehlszeile keine interaktive Benutzeroberfläche gibt. Daher müssen Sie das OAuth 2.0 Access Token in diesem Fall auf externem Weg (z.B. durch Anforderung von MapForce aus) abrufen. Dies ist jedoch nicht notwendig, wenn MapForce Server unter FlowForce Server-Verwaltung ausgeführt wird, da FlowForce Server zur Laufzeit selbst ein neues OAuth 2.0 Access Token anfordern kann.

 

Ein Mapping kann solange mit gespeicherten Anmeldeinformationen über die Befehlszeile ausgeführt werden, als das gespeicherte OAuth 2.0 Token noch nicht abgelaufen ist oder vom Webservice-Anbieter widerrufen wurde. Andernfalls müssen Sie über die Option --credential ein neues (auf externem Weg abgerufenes) OAuth 2.0 Access Token angeben, z.B:

 

<exec> run mapping.mfx --credential=my_oauth_credential:oauth:token=jdsaflkajlkewsaiurthczv904215-jhd

 

wobei:

 

my_oauth_credential der Name der mit MapForce erstellten OAuth 2.0-Anmeldeinformationen ist.

oauth:token die Methode ist, um MapForce Server mitzuteilen, dass zur Laufzeit ein neues OAuth 2.0 Access Token bereitgestellt wird.

 

MapForce Server API

Die MapForce Server API bietet Methoden, um Anmeldeinformationen zu erstellen, Eigenschaften zu Anmeldeinformationen hinzuzufügen und Anmeldeinformationen zu schließen, nachdem Sie diese fertig deklariert haben.  Der folgende Code ist ein Beispiel dafür, wie Passwort-Anmeldeinformationen in einem C#-Programm, das ein Mapping ausführt, normalerweise deklariert werden:

 

//Create a MapForce Server object
Altova.MapForceServer.Server objMFS = new Altova.MapForceServer.Server();
// Set the credential name as it was defined in MapForce
objMFS.BeginCredential("mycredential");
// Add the credential properties
objMFS.AddCredentialProperty("username", "altova");
objMFS.AddCredentialProperty("password", "b45ax78!");
// Close the credential
objMFS.EndCredential();

 

Um eine OAuth 2.0-Autorisierung von einem Programm, das ein Mapping ausführt, durchzuführen, muss der Eigenschaftsname der Anmeldeinformationen, wie unten gezeigt, als oauth:token definiert werden:

 

//Create a MapForce Server object
Altova.MapForceServer.Server objMFS = new Altova.MapForceServer.Server();
// Set the credential name as it was defined in MapForce
objMFS.BeginCredential("my_oauth_credential");

// Add the credential properties
objMFS.AddCredentialProperty("oauth:token", "jdsaflkajlkewsaiurthczv904215-jhd");

// Close the credential
objMFS.EndCredential();

 

Wenn mehrere Anmeldeinformationen im Mapping benötigt werden, gehen Sie vor, wie oben gezeigt, um ganz nach Bedarf mehrere Anmeldeinformationsgruppen hinzuzufügen. Sobald Sie alle erforderlichen Anmeldeinformationen deklariert haben, können Sie die Mapping-Ausführungsdatei standardmäßig durch Aufruf der Run() Methode ausführen. Nähere Informationen dazu finden Sie in der API-Referenz.

© 2018-2024 Altova GmbH