Open KaiHelli opened 6 years ago
Tried to investigate the issue on server side with xdebug.
In normal sessions (browser, Windows sync client), External Storage App calls SessionCredentials.php and gets the username, sessionId, token and password. It then decrypts the user password and uses the credentials for the SMB connection.
With the iOS app the same situation applies and it tries to get the token of this session. Therefore it builds the following SQL query in DefaultTokenMapper.php:
'SELECT 'id', 'uid', 'login_name', 'password', 'name', 'type', 'remember', 'token', 'last_activity', 'last_check', 'scope' FROM 'oc_authtoken' WHERE 'token' = ?'
This query does not return a match and throws an DoesNotExistException('token does not exist') and results in an InvalidTokenException in Store.php.
$this->logger->debug('could not get login credentials because the token is invalid', ['app' => 'core']);
For the same NextCloud Session in iOS getToken() returns tokens fine, except the call from SessionCredentials.php.
I don't have much experience with the Nextcloud code or tokens. Do you have an idea where this issue resides?
I am experiencing the same issue. Have you gotten any answers.
Thanks, Mike
Hey Mike, I have no answers yet, issue still persists. Changed my environment to "Log-In credentials, save in database", that works for me. Even it's not the desired one.
iHell, that worked and will have to do for now. Thanks!
Is there any update on this bug?
Still happening on the latest stable configuration (15.0.6/2.23.3.4). Any update on this bug?
The problem still exists in Version 16.0.1.
Is there any update on this bug?
@jwproduction sorry but I don't have a bug for this in iOS client.
@marinofaggiana thanx for your fast reply.
the bug is only if you choose SMB External Storage with Global Credentials.
I changed every external storage to username und password. Now I see the storage in the IOS app.
For me this fine :-)
I have tried all of them and still gives me access denied. But if I SMB from the server still connects fine. This is the first Nextcloud server I have setup on CentOS, other two I did on ubuntu with now issues. I am going to try that.
Still no changes for me, still unchaged after so long. Quite frustrating :(
Okay I gave up on CentOS 7 and installed a Ubuntu Server 18.04 box and all is working now via web browser, but still can't get the external storage to show up on IOS, windows, and Android Apps/clients. I have three nextcloud servers on different versions. Version 15 with 2.3 windows client I can see and sync external storage. On version 16 and 2.5 windows client, I cannot see external storage to sync. All settings between the two appear to be the same.
Hey,
I'm attaching external SMB shares via the external storage app. Therefore I'm using in-session saved credentials, as it perfectly fit my needs. I'm using ActiveDirectory as LDAP backend. Everything works fine in the web sessions and the Windows Sync App. But the storage doesn't show up in the iOS App. Tried using the same share with saved credentials and the share showed up immediately. FYI: I had NextCloud Version 10 before and it worked perfectly with it.
I hope you can help me to get this working again.
Expected behaviour
SMB Share should automatically get connected in iOS App with InApp entered Nextcloud Credentials.
Actual behaviour
External Storage doesn't show up in iOS App. Share is connected fine in web session and Nextcloud Windows Sync.
Steps to reproduce
Creating an external storage SMB share with in-session saved credentials Try accessing it via iOS App.
iOS version
iOS 11.2.5
App version
2.20.1.00001
Server configuration
Operating system: FreeBSD 11.1
Web server: Apache 2.4
Database: MariaDB 102
PHP version: 7.2
Nextcloud version: (see Nextcloud admin page) 13.0.0 (Fresh Installation)