buttercup / buttercup-mobile

:iphone: React-Native mobile application for Buttercup
https://buttercup.pw
GNU General Public License v3.0
392 stars 70 forks source link

Cannot Connect to Yandex.Disk using webdav #252

Closed wtsiamruk closed 3 years ago

wtsiamruk commented 3 years ago

I cannot connect to yandex.disk using webdav

Open the app Click on Valuts Menu Click on Add button Choose webdav enter url: https://webdav.yandex.ru enter username enter valid password

Result: 401 Expected results: see the FS.

OS: iOS 14.0.1 Device: iPhone SE2

Buttecup desktop had the issue years ago: https://github.com/buttercup/buttercup-desktop/issues/206

wtsiamruk commented 3 years ago

I've checked the webdav nodejs package, and tested it on my local machine, it seems that to connect to the Yandex.Disk, i need oauth2 token based authetication.

I would be happy to add that feature to the app (oauth2 for yandex.disk), the only thing is that I cannot find where is the contribution guide :)

perry-mitchell commented 3 years ago

Our app doesn't support adding custom parameters to connections - Not sure how we'd handle this nicely. You see, when comparing WebDAV with our other connection methods, it's more of a blanket source. Dropbox has only 1 authentication flow, same with Google Drive. WebDAV is just the protocol being supported in app while the service providing it is irrelevant.

How would we comfortably support OAuth on any potential WebDAV service? To my knowledge we can't provide a generic OAuth client that would work against every possible OAuth login implementation for WebDAV, nor know exactly what headers they expect. I also wouldn't want to add specific support just for Yandex's OAuth - the solution needs to be generic.

perry-mitchell commented 3 years ago

Closing this as right now, OAuth based WebDAV connections are out of scope. Please use standard WebDAV connections or another datasource.