Skip to content

Konfiguration

DocIntegration TemplateManager

Für die eigene Konfiguration kann entweder die Datei appsettings.json bearbeitet werden, oder eine zusätzliche appsettings.Production.json erstellt werden, die die Konfiguration erweitert.

{
  "DocStoreLocation": "D:\\DocStorage",
  "FileSizeLimitMb": 142,
  "AllowedExtensions": ["docx"],
  "AllowedTenants": 
  {
    "mytenant": {
      "Authority": "https://sts.cloud.ch/mandant/identity",
      "ClientId": "3cf332fe-d449-4a65-95e2-3a7d9a5ec3c4",
      "Secret": "cmi1337"
    }
  }
}

CMI Server

In den ServerTokens muss ein Secret für den Delegation grant erzeugt werden. Dieser wird vom CMI.Server.Service genutzt, um das hochgeladene Dokument anschliessend wieder auf den Server hochzuladen.

/#/settings/global/workspaces.core.configurations.cmiserverdelegationconfig ServerTokens

CMI Server Delegation ( CMI STS 3)

Diese API benötigt für ihrere Authorisierung einen Scope namens templateManager, dieser muss in den appsettings des Sts hinzugefügt werden,
da er nicht standardmässig vorhanden ist.
Beispiel:

{
  ...
  "Scopes": {
    "Api": [
      "metatool",
      "api",
      "push-api",
      "templateManager"
    ],
    "IdentityResources": [
      "profile",
      "openid"
    ]
  }
  ...
}

Anschliessend wird der Client für die Delegation angelegt und mit diesem Scope ausgestattet. Beispiel:

{
  ...
  "tenants": {
    "mandantName": {
      "Clients": [
        {
          "ClientId": "cmiServer",
          "AccessTokenLifetime": 3600,
          "AllowedGrantTypes": ["delegation"],
          "AllowedScopes": ["openid", "profile", "metatool", "templateManager"],
          "ClientSecrets": [
            {
              "value": "[Sha512 hash des ClientSecrets aus der obigen Konfiguration]"
            }
          ]
        },
        ...
      ]
    }
  }
}