Ansicht von 0 Antwort-Threads
  • Autor
    Beiträge
    • #42423
      marcel-graf
      Teilnehmer

        Folgend die Anleitung, wie man für den Agent Login per Entra ID die OIDC Settings in der Otobo GUI setzen und bearbeiten kann.

        Eventuell lässt sich sowas ja in den Standard übernehmen.

        Wichtig dabei, der Switch Eintrag. Mit diesem steuert man die Aktivierung des OIDC.

        Switch = 0 inaktiv,  Switch = 1 aktiv

        Sperrt man sich mal durch einen Config Fehler aus, kann man die Settings auf Standard zurücksetzen.
        sudo docker exec -it otobo-web-1 bin/otobo.Console.pl Admin::Config::Update –setting-name „AuthModule::OpenIDConnect::AllSettings“ –reset

        per SSH mit dem Otobo verbinden und in das Verzeichnis /opt/otobo-docker wechseln

        cd /opt/otobo-docker

        ####################################################
        #—XML Datei im Otobo Host erstellen—
        ####################################################

        sudo nano /var/lib/docker/volumes/otobo_opt_otobo/_data/Kernel/Config/Files/XML/OidcGuiFields.xml

        <?xml version=“1.0″ encoding=“utf-8″ ?>
        <otobo_config version=“2.0″ init=“Config“>
        <!– Zentrale Verwaltung für den OpenID Connect Agenten-Login inklusive Secret –>
        <Setting Name=“AuthModule::OpenIDConnect::AllSettings“ Required=“1″ Valid=“1″>
        <Description Translatable=“1″>Zentrale Verwaltung für den OpenID Connect Agenten-Login (Schalter, IDs, Provider-URLs und Secret). Switch = 0 disabled, Switch = 1 enabled</Description>
        <Navigation>Core::Authentication::Agent</Navigation>
        <Value>
        <Hash>
        <Item Key=“Switch“>0</Item>
        <Item Key=“ClientID“>HIER_ANWENDUNGS_ID_EINTRAGEN</Item>
        <Item Key=“RedirectURI“>https://ihre-otobo-domain.de</Item&gt;
        <Item Key=“OpenIDConfiguration“>https://login.microsoftonline.com/yourTenantID/v2.0/.well-known/openid-configuration</Item&gt;
        <Item Key=“ClientSecret“ ValueType=“Password“>HIER_GEHEIMWORT_EINTRAGEN</Item>
        </Hash>
        </Value>
        </Setting>
        </otobo_config>

        ####################################################
        # Rechte korrigieren
        ####################################################
        sudo chown -R 1000:1000 /var/lib/docker/volumes/otobo_opt_otobo/_data/Kernel/Config/Files/XML/OidcGuiFields.xml

        ####################################################
        # Struktur neu aufbauen und Cache leeren
        ####################################################
        sudo docker compose exec -u otobo web bin/otobo.Console.pl Maint::Config::Rebuild
        sudo docker compose exec -u otobo web bin/otobo.Console.pl Maint::Cache::Delete

        ####################################################
        ###in den Otoob Web Container wechseln #############
        ####################################################
        sudo docker exec -it otobo-web-1 bash

        nano Kernel/Config.pm

        ####################################################
        #–OIDC Agent Auth nach Kernel/Config.pm kopieren—
        ####################################################

        # ————————————————————————————————————————————————————— #
        # OTOBO 11: OIDC Agent Auth (Kombinierte GUI-Struktur) #
        # ————————————————————————————————————————————————————— #

        # 1. Wir laden das zentrale Einstellungs-Objekt aus der GUI
        my $OidcGui = $Self->{‚AuthModule::OpenIDConnect::AllSettings‘} // {};

        # 2. Status des Schalters prüfen
        my $OidcActive = $OidcGui->{Switch} // 0;

        if ($OidcActive) {
        # OIDC aktivieren
        $Self->{AuthModule} = ‚Kernel::System::Auth::OpenIDConnect‘;

        $Self->{‚AuthModule::OpenIDConnect::AuthRequest‘}->{ResponseType} = [ ‚code‘ ];
        $Self->{‚AuthModule::OpenIDConnect::AuthRequest‘}->{AdditionalScope} = [ qw/profile email/ ];

        # Werte direkt aus der kombinierten GUI-Box auslesen
        $Self->{‚AuthModule::OpenIDConnect::Config‘}{ClientSettings} = {
        ClientID => $OidcGui->{ClientID} // “,
        # KORREKTUR: Liest das Secret nun direkt aus dem AllSettings-Hash aus:
        ClientSecret => $OidcGui->{ClientSecret} // “,
        RedirectURI => $OidcGui->{RedirectURI} // “,
        };

        $Self->{‚AuthModule::OpenIDConnect::Config‘}{ProviderSettings} = {
        OpenIDConfiguration => $OidcGui->{OpenIDConfiguration} // “,
        };

        # Feste TLS- und Schutz-Konfigurationen
        $Self->{‚AuthModule::OpenIDConnect::Config‘}{ProviderSettings}{SSLOptions} = {
        verify_hostname => 0,
        SSL_verify_mode => 0,
        };
        $Self->{‚AuthModule::OpenIDConnect::Config‘}{Misc} = {
        UseNonce => 0,
        RandLength => 22,
        RandTTL => 300,
        };

        # WICHTIGE ANPASSUNG FÜR ENTRA ID / MICROSOFT:
        # Microsoft nutzt im ID-Token meist „oid“ oder „sub“ als eindeutige ID.
        # „preferred_username“ entspricht der Mailadresse/UPN.
        $Self->{‚AuthModule::OpenIDConnect::UID‘} = ‚preferred_username‘;
        $Self->{‚AuthModule::OpenIDConnect::UserSyncBackend‘} = “;

        # Mapping der Attribute auf die OTOBO-Datenbankfelder
        $Self->{‚AuthModule::OpenIDConnect::UserMap‘} = {
        ‚preferred_username‘ => ‚UserLogin‘,
        ‚email‘ => ‚UserEmail‘,
        ‚given_name‘ => ‚UserFirstname‘,
        ‚family_name‘ => ‚UserLastname‘,
        };

        # Debugging aktivieren, um ankommende Token im OTOBO-Log einzusehen
        $Self->{‚AuthModule::OpenIDConnect::Debug‘}->{‚LogIDToken‘} = 1;
        } else {
        # Fallback auf lokale Datenbank
        $Self->{AuthModule} = ‚Kernel::System::Auth::DB‘;
        }
        # ————————————————————————————————————————————————————— #

        mit Exit Container verlassen

        sudo docker compose exec -u otobo web bin/otobo.Console.pl Maint::Config::Rebuild
        sudo docker compose exec -u otobo web bin/otobo.Console.pl Maint::Cache::Delete

        #########################################################
        ####Settings per Systemconfig in der Otobo GUI setzen####
        #########################################################

        AuthModule::OpenIDConnect::AllSettings

        ########################################################################
        #falls es nicht gleich geht, eventuell noch folgende Befehle ausführen #
        ########################################################################

        docker compose exec -u otobo web bin/otobo.Console.pl Maint::Config::Rebuild –cleanup
        docker compose exec -u otobo web bin/otobo.Console.pl Admin::Config::Update –setting-name AuthModule::OpenIDConnect::AllSettings –reset

         

    Ansicht von 0 Antwort-Threads
    • Du musst angemeldet sein, um auf dieses Thema antworten zu können.