Ansicht von 9 Antwort-Themen
  • Autor
    Beiträge
    • #13971
      Wolfgang Saure
      Teilnehmer

        Hallo zusammen,

        ich betreibe eine OTOBO Installation der Version 10.1.5 auf einer Standard Ubuntu Linux Version 20.04.5 LTS

        Ich habe die oauth2 Anleitung genau befolgt und erfolgreich alle meine Konten auf Microsoft Exchange Online abfragen können. Leider kommt nach ca. 60 min die Fehlermeldung:

        IMAPOAuth2: Could not request access token for mailadresse@inteligent.com/outlook.office365.com‘. The refresh token could be expired or invalid.

        Im Systemprotokoll steht dann:

        CommunicationLog(ID:454781,AccountType:-,AccountID:-,Direction:Incoming,Transport:Email,ObjectLogType:Connection,ObjectLogID:463453)::Kernel::System::MailAccount::IMAPOAuth2 => IMAPOAuth2: Could not request access token for mailadresse/outlook.office365.com‘. The refresh token could be expired or invalid.

        Im Grunde das gleiche.

        Wenn ich die Konten editiere und wieder speichere, geht alles wieder – für erneut eine Stunde.

        Dann kommen die Fehler wieder.

        Bisher sind alle meine Versuche die Lösung zu ergooglen fehlgeschlagen.

        Im Moment bin ich mir nicht sicher, ob ich mich hier blamiere… Trotzdem, kann mich jemand in die richtige Richtung lenken?

        Sollten noch hilfreiche Infos fehlen, die kann ich gerne liefern.

        Vielen Dank für die Mühe :-)

        Viele Grüße

        Wolfgang

      • #13990
        Andreas Brandts
        Teilnehmer

          Hi,

          ich meine, dass es ein Netzwerkproblem ist.

          Grund: Wenn etwas nach 60min nicht mehr mit Netzwerkverbindungen geht, sind irgendwelche Thresholds in der Firewall erreicht.

           

          Hier die beiden Lösungsvorschläge:

           

          Option 1: Ohne Aufbohren des Netzwerks:

          OTOBO in ein weniger restriktives Netz bringen und schauen, ob der Fehler immer noch auftritt.

          Option 2: Netzwerk aufbohren:

          2.a) Verstehen, welche Firewall du hast

          2.a) Sicherheitsmechanismen prüfen

          2.a.1) Aggressive Aging

          2.a.2) Statefull Packet Inspection ausschalten

          2.a.3) SIP ALGs deaktivieren ( Proxies / Media Distribution Ampliefiers usw. )

          2.a.4) Automatic NAT vielleicht aktiv?

          3) Nutzt du IPV4 oder IPV6? -> IPV6 mal deaktivieren im Ubuntu?

          4) Hast du LWL auf Kupfer Umsetzung oder sowas?

           

          -> Lass uns einmal wissen, welche Firewall du hast und welche Sicherheitsmechanismen aktiv sind, denn meiner Meinung nach ist es ein Netzwerkproblem.

           

           

        • #14047
          Wolfgang Saure
          Teilnehmer

            Hi Andreas,

            danke für deine schnelle Reaktion und Entschuldigung für meine langsame.

            Mein OTOBO Server ist selbstverständlich hinter einer Firewall. Sophos XG – Bandbreite nahezu unendlich und keine ausgehenden Einschränkungen im Moment.

            Das Problem beginnt, sobald das aktuelle Acess-Token seine Gültigkeit verliert. Wenn ich dann im Webfrontend die Mailaccounts einfach aufmache und auf „Speichern“ klicke, läuft ganz offenbar über den Browser eine Kommunikation mit dem Azure AD – von Zeit zu Zeit muss ich die Passwörter aller Konten in den alt bekannten Login-Screen für Azure AD wieder eingeben. Dann geht wieder alles.

            Im Systemprotokoll erscheint immer direkt vor der Fehlermeldung oben folgendes:

            „No refresh token found for MailAccount: ‚3‘!“

            Das bringt mich zu der Vermutung, dass das System nicht in der Lage ist, ein Refresh Token zu speichern. Und damit auch nicht in der Lage ist, das auth Token zu erneuern….

            Ob oder warum das so ist, habe ich noch nicht herausfinden können. Mir fehlt da leider ein wenig die Zeit und ehrlicherweise auch die Idee, wo ich im log File oder so sehen könnte, an welcher Stelle das Problem mit dem Refresh-Token auftritt. Hast du da noch eine Idee?

            Oder welche Firewall ports müssten offen sein? Bin mir zu 99,9% sicher, dass es die Firewall nicht ist.

            Viele Grüße

            Wolfgang

          • #14063
            armelli
            Teilnehmer

              Hi Wolfgang

              Ich bin gespannt auf die Fehlerbehebung, da ich mit demselben Phänomen kämpfe.
              Meine Lösung ist analog deiner auf Basis eines Ubuntu Server aufgebaut.

               

               

              Bei uns ist eine Fortigate im Einsatz und dort sehe ich auch keine abgeworfenen Pakete.

              Viele Grüsse
              Luca

              LOGS

              Spawning child process to fetch incoming messages from mail accounts…

              outlook.office365.com (IMAPOAuth2)…
              ERROR: OTOBO********otobo.Console.pl********Maint::PostMaster::MailAccountFetch********9 Perl: 5.30.0 OS: linux Time: Tue Oct 18 21:42:15 2022

              Message: No refresh token found for MailAccount: ’11‘!

              …..

              ERROR: OTOBO********otobo.Console.pl********Maint::PostMaster::MailAccountFetch********9 Perl: 5.30.0 OS: linux Time: Tue Oct 18 21:42:15 2022

              Message: CommunicationLog(ID:131989,AccountType:********,AccountID:********,Direction:Incoming,Transport:Email,ObjectLogType:Connection,ObjectLogID:146382)
              ::Kernel::System::MailAccount::IMAPOAuth2 => IMAPOAuth2: Could not request access token for it.support@mycompany.ch/outlook.office365.com‘. The refresh token could be expired or invalid.

            • #14065
              marcel-graf
              Teilnehmer

                Hallo Zusammen,

                sucht man nach dem einfach mal bei Google nach „azure outlook.office365.com‘. The refresh token could be expired or invalid.“ kommen einige Ergebnisse.

                https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad/azure-ad-oauth-2-0-access-token-has-expired/m-p/61392

                You get two tokens – the access one is valid for 1hour, the refresh one (which can be used to renew the access token) can be valid for up to 90 days. Read the documentation here: https://learn.microsoft.com/en-us/azure/active-directory/develop/authentication-vs-authorization

                Gruß Marcel

              • #14095
                Wolfgang Saure
                Teilnehmer

                  Hallo Marcel,

                  das ist mir bekannt und das refresh token wird beim Speichern der Mailaccounts auch geholt und in der DB abgelegt.

                  Trotzdem werden sie nicht gefunden.

                  Und wenn sie abgelaufen sind, ich die Email Konten wieder editiere und speichere, passieren zwei Dinge:

                  Mails werden wieder geholt und es sind für die einzelnen Mailkonten IDs neue Reihen mit neuen Tokens vom Typ refresh angelegt….

                  Ich rätsele noch. Im Moment denke ich daran, ob man den log-Level anheben kann, damit man mehr sieht ?!

                  Oder mir jemand noch einen Tipp für ein zusätzliches log geben könnte, außer dem systemlog und den Einträgen in der Kommunikationsliste.

                  Schon komisch. Es funktioniert doch offenbar bei vielen einwandfrei, sonst würde das Forum doch überquellen….

                  Kann es auch daran liegen, dass ich statt mysql eine postgresql habe?
                  Immer noch mehr Fragen als Antworten.

                  Gruß

                  Wolfgang

                • #14177
                  armelli
                  Teilnehmer

                    Hi Wolfgang

                    Bist du schon weiter bei diesem Problem?

                     

                    Bei mir läuft Otobo mit einer mysql, somit gehe ich nicht davon aus, dass es bei dir an der postgresql liegt.

                     

                    Gruess Luca

                  • #14290
                    Wolfgang Saure
                    Teilnehmer

                      Hi Luca,

                      danke für die Antwort, bisher bin ich nicht weitergekommen….

                      Grüße und so

                      Wolfgang

                       

                    • #14374
                      Rob Heine
                      Teilnehmer

                        Ich leide unter genau demselben Problem. Leider war ich bisher nicht erfolgreich bei der Aufrischung des Tokens. Gibt es hier mittlerweile Fortschritte?

                      • #14397
                        Wolfgang Saure
                        Teilnehmer

                          Hallo zusammen,

                          ich habe für mich eine Lösung gefunden.

                          Das Problem lag bei mir in der Datei /opt/otobo/Kernel/System/OAuth2.pm

                          Dort wird in der Zeile 183/184 der SQL string gebildet, der das aktuelle refresh Token holt, damit das access Token angefordert werden kann. Der String enthält dann die Funktion LOWER

                          my $SQL = "SELECT token FROM $Self->{TokenTable} WHERE "
                          . "account_type = LOWER(?) AND account_id = ? AND token_type = 'refresh'";

                          Das ? steht für „account_type“. Wenn man die Einträge in der DB betrachtet, stellt man fest, dass die Einträge in der Tabelle so aussehen „MailAccount“

                          Damit läuft die  Abfrage der DB ins Leere und liefert 0 Ergebnisse.

                          Meine Änderung sieht so aus:

                          my $SQL = "SELECT token FROM $Self->{TokenTable} WHERE "
                          . "account_type = ? AND account_id = ? AND token_type = 'refresh'";

                          Damit läuft es auch.

                          Gruß
                          Wolfgang

                      Ansicht von 9 Antwort-Themen
                      • Das Thema „ oAuth2 – nach ca. 60min kommt: IMAPOAuth2: Could not request access token“ ist für neue Antworten geschlossen.