Skip to main content

API Konfiguration

API-spezifische Konfiguration appsettings

Zusätzlich zu den globalen Informationen, die über die Konfigurationsdatei bereitgestellt werden, gibt es spezifische Einstellungen, die sich auf die ausführbare API beziehen.

Eigenschaft Authentifizierung Auth

Die Maildaemon-API kann so konfiguriert werden, dass sie Anfragen nur zulässt, wenn ein bestimmter API-Schlüssel angegeben wird. Diese Einstellung ist optional und standardmäßig deaktiviert.

Um die API-Schlüssel-Authentifizierung zu aktivieren, setzen Sie die Eigenschaft Enabled auf true und geben einen GUID-Wert für die Eigenschaft ApiKey an. Die nachstehende Beispielklasse stellt die Eigenschaft "Auth" in der Datei appsettings dar.

DatabaseOptions Database Eigenschaft

Der Abschnitt DatabaseOptions in der Datei appsettings wird verwendet, um datenbankbezogene Einstellungen für die API zu konfigurieren. Der Wert Path ist der vollständige Pfad zum Speicherort der Monitoring-Sqlite-Datei. Der Wert Default in diesem Abschnitt muss mit dem Wert in den service appsettings übereinstimmen.

MailboxConfigsOptions MailboxConfigs Eigenschaft

Der Abschnitt MailboxConfigsOptions in der Datei appsettings wird verwendet, um den absoluten Pfad zum Mailbox-Ordner des Maildaemon-Dienstes anzugeben. Die Eigenschaft Path dient als Verweis auf den service app configs Pfad. In Linux-/Cloud-Umgebungen lautet der Standardwert /app/configs/mailbox.

Eigenschaft AllowedHosts

Die Eigenschaft AllowedHosts ist entscheidend für Windows-Installationen. Standardmäßig ist sie auf 127.0.0.1 eingestellt und erlaubt Verbindungen zur API nur vom selben Host (loop local).

Wenn Sie eine Verbindung zur API von einem anderen Hostnamen aus herstellen möchten, müssen Sie den Hostnamen als durch Semikolon getrennten Wert hinzufügen, z. B. "127.0.0.1;localhost;my-fancy-hostname".

In einer Linux/Cloud-Umgebung sollte der Wert auf "0.0.0.0" gesetzt werden.

Eigenschaft Kestrel WebServer

Die URLs "Endpoints" im Abschnitt "Kestrel" definieren den Hostnamen und den Port für HTTP-Verbindungen. Bei Windows-Installationen brauchen Sie diese Angaben im Allgemeinen nicht zu ändern, es sei denn, die Ports sind bereits von anderen Prozessen auf dem Hostsystem belegt.

In Linux-/Cloud-Umgebungen ist es jedoch zwingend erforderlich, diese URLs zu setzen.

Beispiel für API-spezifische Einstellungen

Nachfolgend finden Sie ein Beispiel für eine API-spezifische appsettings-Datei:

appsettings.development.json WITHOUT RabbitMQ and Logging
{
"AllowedHosts": "127.0.0.1",
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://+:5000"
}
}
},
"Auth": {
"Enabled": true,
"Secret": "1C7B876C-EF34-4FDE-A0CC-F72BCE236E2A"
},
"Database": {
"Path": "D:\\otris\\OUC-Tools\\maildaemon-service\\configs\\database",
"Default": "Monitoring"
},
"MailboxConfigs": {
"Path": "D:\\otris\\OUC-Tools\\maildaemon-service\\configs\\Mailbox"
},
// hier kommen die Log-Einstellungen
// hier kommen die RabbitMQ-Einstellungen
}