The Basics
-
Nextcloud Server version: 32.0.6.1
-
Operating system and version: Linux (Standard Bare Metal / Vhost)
-
Web server and version: Apache (with Nginx Frontend)
-
Reverse proxy and version: Nginx (Plesk/Internal)
-
PHP version: 8.3
-
Is this the first time you’ve seen this error?: Yes
-
When did this problem seem to first start?: During initial setup of the mobile app.
-
Installation method: Bare Metal / Archive
-
Are you using Cloudflare, mod_security, or similar?: No
Summary of the issue you are facing
I am experiencing a persistent login loop on the Nextcloud Android app (Samsung device). After entering my server URL, the app redirects to the mobile browser where I can successfully authenticate. I reach the Account Connected screen, but the browser fails to redirect back to the app. The app remains on the “Please complete login in your browser” screen indefinitely.
In Android system settings (Apps > Nextcloud > Open by default), the “Open supported links” toggle is greyed out and cannot be enabled. I suspect the Android Intent Filter Verifier is failing to verify the domain, prevents the redirect from functioning.
Steps to replicate it
-
Open the Nextcloud Android app and enter
https://cloud.example.com. -
App redirects to the system browser (Samsung Internet/Chrome).
-
Log in successfully via the web interface.
-
Browser displays Account Connected but does not trigger the hand-off back to the app.
-
Returning to the app shows it is still waiting for the browser.
Technical Troubleshooting Completed
-
Config.php: Added
overwriteprotocol => https,overwritehost, andtrusted_proxies. -
Assetlinks: Verified
https://cloud.example.com/.well-known/assetlinks.jsonis accessible. -
Fingerprint: Updated
assetlinks.jsonwith the official Play Store SHA256 fingerprint (30:85:32...). -
Clean Install: Performed multiple uninstalls, phone restarts, and reinstalls to try and force OS-level re-verification of the domain.
Log entries (Nextcloud)
Config.php
PHP
<?php
$CONFIG = array (
'instanceid' => 'REDACTED',
'trusted_domains' =>
array (
0 => 'cloud.example.com',
),
'overwrite.cli.url' => 'https://cloud.example.com',
'overwriteprotocol' => 'https',
'overwritehost' => 'cloud.example.com',
'trusted_proxies' => array('127.0.0.1'),
// ... other settings redacted ...
);
Latest I get is: My Nextcloud installation works on the web, but mobile and WebDAV fail because the server cannot perform a local cURL request to its own domain. curl -I https://domain returns SSL routines::wrong version number. This is a Plesk/Apache VirtualHost binding issue on port 443