Nextcloud Talk Android schlÀgt nach Domainwechsel fehl

Setup / Voraussetzungen

  • Nextcloud: 34.0.4.1

  • Talk (Spreed): 24.0.5

  • Nextcloud Android: 34.1.0 / 34.1.1

  • Nextcloud Talk Android: 24.0.4

  • Android: Handy 1 = Android 10; Handy 2 = andere Android-Version

  • Server: Ubuntu in LXC, kein Docker; Nextcloud direkt unter /var/www/nextcloud

  • Webserver: Apache

  • Reverse Proxy: Nginx Proxy Manager/OpenResty in Docker auf separatem Host

  • Nextcloud-interne IP: anonymisiert als NC-IP

  • Proxy-IP aus Nextcloud-Konfiguration: anonymisiert als PROXY-IP

  • Öffentliche URL: anonymisiert als https://cloud.example.tld

  • overwritehost, overwriteprotocol und overwrite.cli.url zeigen auf die öffentliche HTTPS-Domain.

  • trusted_proxies enthĂ€lt die bekannte Proxy-IP.

  • overwritecondaddr ist auf diese Proxy-IP eingeschrĂ€nkt.

Problem

Nach einem Domainwechsel funktioniert der Login von Nextcloud Talk auf Android nicht mehr. Vor dem Domainwechsel funktionierte Talk.

Das Problem tritt auf mehreren Android-GerÀten auf und ist damit nicht auf ein einzelnes GerÀt beschrÀnkt.

Der normale Login ĂŒber die öffentliche Domain funktioniert weiterhin problemlos.

Bisheriger Befund

Der Login Flow v2 funktioniert bis zum Browser-Grant:

POST /index.php/login/v2          → 200
GET  /index.php/login/v2/flow/... → 303
GET  /index.php/login/v2/flow...  → 200
GET  /index.php/login/v2/grant... → 200
POST /index.php/login/v2/grant    → 200

Der Grant erzeugt nachweislich einen neuen permanenten Talk-Auth-Token.

Danach sendet der Android-Talk-Client jedoch keinen erfolgreichen Poll bzw. erhÀlt beim Poll:

POST /index.php/login/v2/poll → 404

Die Route /login/v2/poll existiert, der Controller und Service sind vorhanden.

Auch /login/v2 ĂŒber die öffentliche Domain funktioniert und erzeugt einen gĂŒltigen Login-/Poll-Flow.

Die Datenbanktabelle oc_login_flow_v2 existiert mit korrektem Schema und enthÀlt erzeugte Talk-Flows.

ZusÀtzlich treten teilweise Nextcloud-Logmeldungen wie

Could not find the session token to renew
InvalidTokenException
Token does not exist

auf. Ein direkter Zusammenhang mit dem Talk-Problem ist bisher nicht bewiesen.

Aktuelle Fragestellung

Der Fehler scheint zwischen /login/v2/grant und /login/v2/poll zu liegen.

Zu klÀren ist insbesondere:

  • Sind login_name, server und app_password nach dem Grant korrekt im oc_login_flow_v2-Datensatz gesetzt?

  • Existiert der Flow-Datensatz beim anschließenden Poll noch?

  • Verwendet der Android-Client tatsĂ€chlich denselben Poll-Token?

  • Scheitert ggf. die serverseitige Verarbeitung/EntschlĂŒsselung des App-Tokens?

  • Gibt es einen Zusammenhang mit Session-/Proxy-Konfiguration nach dem Domainwechsel?

Bereits ausgeschlossen / nicht mehr relevant

  • Allgemeiner Nextcloud-Browser-Login funktioniert.

  • /login/v2 funktioniert.

  • /login/v2/grant funktioniert.

  • Login-V2-Routen sind vorhanden.

  • Reverse Proxy funktioniert grundsĂ€tzlich.

  • Benutzer ist aktiviert.

  • Datenbanktabelle oc_login_flow_v2 ist vorhanden und wird beschrieben.

  • Problem tritt auf mehreren Android-GerĂ€ten auf.

Gesucht

Hinweise, warum /login/v2/poll nach einem erfolgreichen Grant HTTP 404 liefert, obwohl der Flow angelegt und der Grant erfolgreich durchgefĂŒhrt wurde – insbesondere im Zusammenhang mit Nextcloud 34.0.4.1, Talk 24.0.5 und Reverse Proxy/Domainwechsel.

Keine Zugangsdaten, Cookies oder Tokenwerte werden veröffentlicht.

Ich bin “interessierter Laie” - ich habe alle Änderungen mit Chatgpt durchgefĂŒhrt :slight_smile: