Installation des Backends
Die enaio® coLab-Backend-API ist als Spring-Boot-Anwendung programmiert worden. enaio® coLab verwendet Spring Boot in der Version 2.3.8.
Installation
Bevor Sie das Backend einrichten, kopieren Sie alle Ressourcen in <\Tools\colab-install\colab-app in einen lokalen Ordner (<colab-localfolder>).
Als nächstes installieren Sie enaio® coLab mit SAM tools.

-
Navigieren Sie in einem Eingabeaufforderungsfenster zum Verzeichnis <enaio_install>\service-manager\tools\sam.
-
Führen Sie den folgenden Befehl aus: sam install <colab_localfolder>\colab-app.jar
In einer Meldung wird angezeigt, dass die Konfiguration gespeichert und enaio® coLab installiert wurde.
-
Kopieren Sie die Datei <colab-localfolder>\colab-prod.yml in das Verzeichnis <enaio_installation>\service-manager\config.
Konfiguration
Die Anwendungseigenschaften passen Sie über die Konfigurationsdatei an:
<enaio_installation>\service-manager\config\colab-prod.yml.
In diesem Absatz wird beschrieben, wie Sie verschiedene Abschnitte in der Konfigurationsdatei ändern können.
Validieren Sie die .yml-Datei mithilfe eines Tools Ihrer Wahl, nachdem Sie die Konfiguration abgeschlossen haben. Die App kann nicht gestartet werden, wenn die .yml-Datei nicht valide ist.

global: service: baseUrl: http://<gateway_IP>/colab view: baseUrl: http://<gateway_IP>/colab
Die global.service.baseUrl sollte auf die Back-End-URL und auf die global.view.baseUrl verweisen, welche die Benutzer als Einstiegspunkt verwenden. Wenn Sie HTTPS verwenden, müssen Sie das Protokoll entsprechend ändern.

epr: smtp: host: 127.0.0.1 port: 26 from: name: "enaio(c) coLab" address: enaio-colab@colab.dev auth: enable: true username: username password: pass
Definieren Sie die SMTP-Eigenschaften entsprechend den Systemeinstellungen, in denen enaio® coLab installiert wurde. Wenn Ihr E-Mail-Server keine Authentifizierung erfordert, benötigen Sie keinen auth-Parameter.

Im file-repository-Bereich sollte der Parameter store auf fs eingestellt sein.
file-system-dir: Dieser Parameter definiert den Pfad, in dem temporäre Dateien gespeichert werden sollen. Das angegebene Verzeichnis muss im Dateisystem vorhanden sein (z. B. C:\data).
bucket: Das Bucket-Verzeichnis muss im Dateisystem innerhalb des file-system-dir-Pfades vorhanden sein (z. B. C:\data\bucketdir).

Im Postgres-Bereich ist uri die URL des Postgres-Servers. Der Benutzername und das Passwort gelten für den enaio® coLab-Benutzer, den Sie bei der Installation von Postgres erstellt haben. Wenn sich Ihre Datenbank und enaio® coLab auf demselben Server befinden, verwenden Sie localhost als URL.
Wenn sich Postgres und enaio® coLab auf verschiedenen Servern befinden, fügen Sie die Postgres-URL folgendermaßen hinzu:
-
Öffnen Sie die Konfigurationsdatei C:\Program Files\PostgreSQL\10\data\pg_hba.conf und suchen Sie den Eintrag host all all 127.0.0.1/32 md5.
-
Kopiere Sie die Zeile und füge Sie sie noch einmal ein.
-
Ersetzen Sie die IP 127.0.0.1 durch Ihre Server-IP-Adresse und speichern Sie die Datei.
-
Um die Postgres-Konfiguration neu zu laden, öffnen Sie 'pgAdmin 4' als Postgres-Benutzer.
-
Führen Sie die folgende Abfrage aus:
select pg_reload_conf();
Ebenfalls notwendig ist für Neuinstallationen folgender Eintrag in der colab-prod.yml:
liquibase:
contexts: legacy

Wechseln Sie in das Verzeichnis <enaio_installation>\service-manager\config\, öffnen Sie die Datei application-cloud.yml und geben Sie folgendes ein:
enaio: blue: gateway: address: <gateway_IP>
Die Adresse von enaio® gateway muss genau so wie bei global.view.baseUrl angegeben werden, also als IP oder DNS.
Stellen Sie sicher, dass enaio® gateway für enaio® coLab erreichbar ist.

Wechseln Sie in das Verzeichnis <enaio_installation>\service-manager\config\, öffnen Sie die Datei application-prod.yml und geben Sie folgendes ein:
feign: hystrix: enabled: false

Wechseln Sie in das Verzeichnis <enaio_installation>\services\os_gateway\apps\os-gateway\config\, öffnen Sie die Datei application-prod.yml und geben Sie folgendes ein:
proxy: services: endpoints: - endpoint: name: colab url: 'http://<colab-IP>:8066'
Aktualisieren Sie Einstellungen für die Anmeldung externer Benutzer:
Ersetzen Sie:
handleRedirectsFromService: 'OSWebClient,osweb'
durch:
handleRedirectsFromService: 'OSWebClient,osweb,epr,colab'
Falls der Eintrag nicht vorhanden ist, erstellen Sie ihn:
proxy: services: handleRedirectsFromService: 'OSWebClient,osweb,epr,colab'
Starten Sie danach enaio® gateway neu.
Die Einstellungen für enaio® server nehmen Sie in folgender Konfigurationsdatei vor:
<colab-install>\colab-app\application_blue.yml.

enaio.dms.username: <enaio_user> enaio.dms.password: <enaio_pw> server: enaiodms1.example.com:4000:50#enaiodms2.example.com:4000:50
Alle enaio®-Server müssen hier aufgelistet sein.
Anmeldung für externe Benutzer
In der Datei colab-prod.yml können Sie die Anmeldung in enaio® coLab für externe Benutzer konfigurieren. Die Anmeldung kann entweder über die Google-, LinkedIn- oder Microsoft-Konten der Benutzer erfolgen oder mithilfe von Keycloak als Authentifizierungsinstanz.

Führen Sie die folgenden Schritte aus, damit sich Benutzer mit ihren Google-Konten anmelden können:
-
Melden Sie sich unter https://console.developers.google.com an.
-
Erstellen Sie ein neues Projekt und wechseln Sie in den Bereich Credentials.
-
Klicken Sie auf Create credentials und wählen Sie den Eintrag OAuth client ID aus.
-
Wählen Sie als Anwendungstyp Web application aus.
-
Rufen Sie Client-ID und Client Secret ab und tragen Sie die Daten in den entsprechenden Bereich in der Konfigurationsdatei colab-prod.yml ein.
-
Klicken Sie auf Authorized JavaScript originsund geben Sie Ihre Domäne mit dem Protokoll ein, auf dem enaio® gateway installiert ist.
Beispiel: http://<gateway-IP>:colab
-
Geben Sie unter Authorized redirect URIs Ihren Domänennamen gefolgt von /epr/login/google/ ein.
Beispiel: http://<gateway-IP>/colab/epr/login/google
- Passen Sie die Datei <enaio_installation>\service-manager\config\colab-prod.yml an:
google: enable: true client: clientId: <client_id> clientSecret: <client_secret> accessTokenUri: https://accounts.google.com/o/oauth2/token userAuthorizationUri: https://accounts.google.com/o/oauth2/auth clientAuthenticationScheme: form scope: profile email pre-established-redirect-uri: ${global.view.baseUrl}/epr/login/google use-current-uri: false resource: userInfoUri: https://www.googleapis.com/oauth2/v3/userinfo

Führen Sie die folgenden Schritte aus, damit sich Benutzer mit ihren LinkedIn-Konten anmelden können:
-
Melden Sie sich unter https://developer.linkedin.com/docs/oauth2 an und führen Sie nur den Schritt 1 aus. Nachdem Sie die Authentifizierungsschlüssel (Client-ID und Client Secret) erhalten haben, tragen Sie die Daten in den entsprechenden Abschnitt in der Konfigurationsdatei colab-prod.yml ein.
-
Wenn die Anwendung erstellt wurde, geben Sie Ihren Domainnamen unter Authorized redirect URLs zusammen mit dem Protokoll und dem Port und gefolgt von /epr/login/linkedin ein.
- Passen Sie die Datei <enaio_installation>\service-manager\config\colab-prod.yml an:
linkedin: enable: true client: clientId: <client_id> clientSecret: <client_secret> accessTokenUri: https://www.linkedin.com/oauth/v2/accessToken userAuthorizationUri: https://www.linkedin.com/oauth/v2/authorization clientAuthenticationScheme: form scope: r_liteprofile,r_emailaddress pre-established-redirect-uri: ${global.view.baseUrl}/epr/login/linkedin use-current-uri: false resource: userInfoUri: https://api.linkedin.com/v2/me

Führen Sie die folgenden Schritte aus, damit sich Benutzer mit ihren Microsoft-Konten anmelden können:
-
Melden Sie sich unter https://portal.azure.com an und suchen Sie über das Suchfeld nach App registration.
- Klicken Sie auf 'New registration', füllen Sie alle Felder mit den entsprechenden Daten aus und klicken Sie auf 'Register'.
Application- ID / Client-ID und Object-ID werden angezeigt.
- Klicken Sie auf ‘Certificates & secrets’ und dann auf ‘New client secret’.
- Kopieren Sie den Wert von 'Client secret'.
Microsoft zeigt den Client Secret nur einmal an.
-
Gehen Sie zu 'Authentification', klicken Sie auf Add a platform und von der Konfigurations-Platform auf Web und gehen Sie zu 'RedirectURL' und geben Sie Ihren Domänennamen und Ihr Protokoll ein, gefolgt von /epr/login/microsoft.
Beispiel: http://<gatewayIP>/colab/epr/login/microsoft
Wenn der Prozess abgeschlossen ist, tragen Sie den Client Secret zusammen mit dem App Key in den entsprechenden Abschnitt in der Konfigurationsdatei colab-prod.yml ein.
- Passen Sie die Datei <enaio_installation>\service-manager\config\colab-prod.yml an:
microsoft: enable: true client: clientId: <client_id> clientSecret: <client_secret> accessTokenUri: https://login.microsoftonline.com/common/oauth2/v2.0/authorize userAuthorizationUri: https://login.microsoftonline.com/common/oauth2/v2.0/authorize clientAuthenticationScheme: form scope: openid,profile,User.Read pre-established-redirect-uri: ${global.view.baseUrl}/epr/login/microsoft use-current-uri: false resource: userInfoUri: https://graph.microsoft.com/v1.0/me

Es ist möglich, Keycloak als Authentifizierungsinstanz in enaio® coLab zu verwenden. Sie müssen zuerst Keycloak mithilfe der Installationsdateien und anhand der Anweisungen, die auf https://keycloak.org zu finden sind, installieren und konfigurieren. Die Benutzeraccounts werden über Ihre Instanz von Keycloak verwaltet.
Um Keycloak als Authentifizierungsinstanz in enaio® coLab zu verwenden, ergänzen Sie folgende Konfiguration in der Datei colab-prod.yml:
keycloak: title: {keycloak-realm-name} enable: true client: clientId: {keycloak-client-id} clientSecret: {keycloak-client-secret} accessTokenUri: http://{keycloak-server}/auth/realms/{keycloak-realm-name}/protocol/openid-connect/token userAuthorizationUri: http://{keycloak-server}/auth/realms/{keycloak-realm-name}/protocol/openid-connect/auth clientAuthenticationScheme: header scope: profile email openid resource: userInfoUri: http://{keycloak-server}/auth/realms/{keycloak-realm-name}/protocol/openid-connect/userinfo
Alle Parameter in {} müssen einschließlich der geschweiften Klammern mit den entsprechenden Werten aus Ihrer Umgebung ersetzt werden.
Um zu prüfen, ob die Änderungen nach der Aktualisierung von enaio® coLab angewendet wurden, gehen Sie zu http://127.0.0.1:7273 > coLab app. Klicken Sie auf 'Details' und dann 'Umgebung'. Suchen Sie nach den Keycloak-Eigenschaften und prüfen Sie, ob diese in der Liste enthalten sind.