Schlagwörter: oauth2 exchange online o365 outlook.office365.com
-
AutorBeiträge
-
-
11. Oktober 2022 um 8:51 Uhr - Views: 889 #13971
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
-
11. Oktober 2022 um 19:24 Uhr #13990
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.
-
17. Oktober 2022 um 12:23 Uhr #14047
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
-
18. Oktober 2022 um 21:47 Uhr #14063
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
LucaLOGS
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 2022Message: 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. -
19. Oktober 2022 um 8:11 Uhr #14065
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.
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
-
20. Oktober 2022 um 14:43 Uhr #14095
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
-
1. November 2022 um 19:28 Uhr #14177
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
-
21. November 2022 um 11:46 Uhr #14290
Hi Luca,
danke für die Antwort, bisher bin ich nicht weitergekommen….
Grüße und so
Wolfgang
-
5. Dezember 2022 um 16:31 Uhr #14374
Ich leide unter genau demselben Problem. Leider war ich bisher nicht erfolgreich bei der Aufrischung des Tokens. Gibt es hier mittlerweile Fortschritte?
-
9. Dezember 2022 um 9:48 Uhr #14397
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
-
-
AutorBeiträge
- Das Thema „ oAuth2 – nach ca. 60min kommt: IMAPOAuth2: Could not request access token“ ist für neue Antworten geschlossen.