OCT-Best-Practice
Breadcrumbs

4.8. OAuth 2.0 Authentifizierung aktivieren

Diese Anleitung ist gültig ab der Applikationsversion 5.10.

Voraussetzungen

OCT Applikationsserver

SQL Server Instanz

  • administrativer Zugriff auf SQL Server Instanz über SQL Server Management Studio (mindestens db_creator)

OAuth 2.0 Provider

  • Authority, Client ID und Client Secret liegen vor

  • Zugriff auf SQL Server

Schritte zur Einrichtung einer OAuth 2.0 Anmeldung in OCT

In dieser Beispielanleitung ist die OCT Applikation unter https://oct.meinedomain.de:5000 erreichbar. Die URL muss an allen Stellen mit der tatsächlichen URL, unter der OCT erreichbar ist, ersetzt werden.

1. Administratorrechte an neues Konto übertragen

Die E-Mail-Adresse bzw. der Benutzername des eigenen OAuth 2.0 Logins sollte als OCT Applikations- und OCT Datenbank-Administrator hinzugefügt werden.

2. OCTIdentity Datenbank anlegen

  • Skript zum Anlegen der OCTIdentity Datenbank herunterladen: OCTIdentity.sql

  • Skript in SQL Server Instanz über Management Studio einspielen

  • db_owner Rolle für OCT Dienstbenutzer in OCTIdentity Datenbank setzen

    • alternativ SQL Server Login anlegen und Connection String in der Konfiguration entsprechend anpassen

3. OCTIdentity Datenbank einrichten

  • Datensätze in Tabelle dbo.ClientRedirectUris hinzufügen:

    • RedirectUri: https://oct.meinedomain.de:5000/login & ClientId: 1

    • RedirectUri: https://oct.meinedomain.de:5000/silent-refresh.html & ClientId: 1

  • Datensatz in Tabelle dbo.ClientLogoutRedirectUris hinzufügen:

    • PostlogoutRedirectUri: https://oct.meinedomain.de:5000/signed-out & ClientId: 1

4. Zertifikat erstellen

  • Mit OpenSSL ein Zertifikat über Kommandozeile (CMD) erstellen:

    "C:\Program Files\OpenSSL-Win64\bin\openssl.exe" req -x509 -newkey rsa:4096 -sha256 -nodes -keyout idscert.key -out idscert.crt -subj "/CN=<OCT URL>" -days 3650
    

    Platzhalter “<OCT URL>” ersetzen durch OCT URL ohne Port (z.B. “oct.meinedomain.de”)

  • .pfx Datei über Kommandozeile (CMD) erstellen:

    "C:\Program Files\OpenSSL-Win64\bin\openssl.exe" pkcs12 -export -out idscert.pfx -inkey idscert.key -in idscert.crt
    
  • beliebiges Passwort angeben und Passwort notieren

  • idscert.pfx Datei in Installationspfad im Unterordner “web” kopieren (z.B. “C:\Program Files\Saxess Software\OCT\web”)

5. OCT Konfiguration anpassen

  • OCT Dienst über den OCT Konfigurator beenden

  • Datenpfad im Windows Explorer öffnen (z.B. “C:\ProgramData\Saxess Software\OCT”)

  • appsettings.user.json im Texteditor öffnen

  • Eigenschaft AppConfiguration.CoreSettings.WindowsAuthentication auf “true” setzen

  • Eigenschaft AppConfiguration.IdentityServerConfig ersetzen mit

    "IdentityServerConfig": {
          "ConnectionString": "Server=<SQL Server>;Database=OCTIdentity;TrustServerCertificate=true;Encrypt=true;Trusted_Connection=True;",
          "SigningCertificatePassword": "<Zertifikat Passwort>",
          "Authority": "<OCT URL>",
          "ValidIssuers": [],
          "AllowLocalLogin": false,
          "GuestUserConfig": null,
          "ExternalIdentityProviders": null,
          "SaxessIdentityProvider": {
              "Authority": "<Authority>",
              "ClientId": "<Client ID>",
              "ClientSecret": "<Client Secret>",
              "DisplayName": "OAuth 2.0 Login",
              "Scheme": "oct"
    	  },
          "HeaderLabel": "",
          "HeaderDescription": ""
    },
    
  • Platzhalter ersetzen

    • SQL Server: Servername und ggf. Instanz, falls Instanz angegeben wird, dann mit doppeltem Backslash (“SQLServer\\Instanz”)

    • Zertifikat Passwort: Passwort, das beim Erstellen des Zertifikats gesetzt wurde

    • OCT URL: URL, über die OCT erreichbar ist, inklusive Port (“https://oct.meinedomain.de:5000”)

    • Authority, Client ID, Client Secret: Angaben vom OAuth 2.0 Provider

  • OCT Dienst über OCT Konfigurator starten

Beispiele für OAuth 2.0 Provider

Provider

Authority

Microsoft Entra ID

https://login.microsoftonline.com/<Tenant ID>/

Google

https://accounts.google.com

6. Redirect URL in OAuth 2.0 Provider setzen

  • ggf. muss die Redirect URL von OCT in den OAuth 2.0 Provider Einstellungen gesetzt werden

  • die Redirect URL setzt sich zusammen aus den Angaben bei “Authority” und “Scheme”

    <Authority>/signin-<Scheme>
    

    z.B. “https://oct.meinedomain.de:5000/signin-oct”

Problembehebung

Falls die OCT Webseite nach der Umstellung nicht erreichbar ist, können folgende Logs geprüft werden:

  • Log Datei im Ordner “Logs” im Datenpfad

  • Fehlermeldungen in der Browser Konsole bzw. Netzwerk-Tab (F12-Taste zum Öffnen)

Anmerkungen

  • Das für die OCT HTTPS Verbindung eingesetzte SSL Zertifikat darf nicht self-signed sein.

  • Zusätzliche OAuth 2.0 Provider können im Bereich “ExternalIdentityProviders” hinzugefügt werden.