super-productivity icon indicating copy to clipboard operation
super-productivity copied to clipboard

Loginflow SSO for Nextcloud

Open sunjam opened this issue 3 years ago • 19 comments

image

I know you are super busy and already handling plenty. I'd like to humbly request LoginFlow support for Nextcloud on Desktop as a way to ease setting up WebDAV #599 and CalDAV #626. Of course you already support these as a platform agnostic option.

Perhaps one day it will be possible to support this and smooth out integration to be as simple as clicking "Grant Access" for any user already logged into Nextcloud on their browser, desktop, or mobile app. Greatly simplifies the process in the manner we expect from Google Drive and Dropbox (fyi there is also Oauth support from Nextcloud). Thank you for considering either way!!!

sunjam avatar Feb 20 '21 17:02 sunjam

Thanks for opening this up @sunjam ! Would this also solve the cross origin problem?

johannesjo avatar Feb 21 '21 19:02 johannesjo

This issue has not received any updates in 90 days. Please comment, if this still relevant!

github-actions[bot] avatar Jun 22 '21 01:06 github-actions[bot]

Still relevant, I think.

johannesjo avatar Jun 22 '21 08:06 johannesjo

It is different than CORS. afaik You are able to authenticate against the Nextcloud app on a mobile device, which is a very simple "allow this app" process.

On Tue, Jun 22, 2021, 1:32 AM Johannes Millan @.***> wrote:

Still relevant, I think.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/johannesjo/super-productivity/issues/914#issuecomment-865727421, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANUKZQWJFI4LW3MSV53CYDTUBDDHANCNFSM4X6DCWUQ .

sunjam avatar Jun 22 '21 16:06 sunjam

This is important, and I'm willing to help

steccas avatar Sep 19 '21 14:09 steccas

Glad to hear it @Steccas ! Most of the relevant existing code can be found here: https://github.com/johannesjo/super-productivity/tree/master/src/app/imex/sync/web-dav

What else do you need to get started?

johannesjo avatar Sep 19 '21 19:09 johannesjo

Would this also solve the cross-origin problem?

Yes, but to clarify this a bit more: Once the flow is completed your App has an access token. No domain or whatsoever needed.

As the docs mention, the flow is required for the following: · A client never stores the password of the user · The user can revoke access on a per-client basis from the web

The Login flow v2 is recommended. As an alternative, the user can create an access token in nextcloud web.

Regarding the mentioned OAuth2: The OAuth2 is an admin setting, not a user setting. Hence it'd be for smth. like organization access (linking different systems), but not for a single client accessing a single user.

You are able to authenticate against the Nextcloud app on a mobile device

Yes, but this is for mobile apps on the same device. Basically, the Nextcloud Files App performs the flow with the server, and all the other apps perform a flow with the Files-App. Hence only one token per mobile device is needed. All of this requires the SingleSignOn Library of nextcloud. – Again, Mobile only.


To conclude for SP:

  • [ ] Handle login flow for Nextcloud (preferrable v2)
  • [ ] And/or let the user enter an access token (easy-mode activated ;))
  • [ ] Being able to login with multiple accounts (for different Projects/Organisations)
  • [ ] UI: Give the user a selection of his/her accs to use

This essentially adds Nextcloud as a provider, instead of just general "WebDav/CalDav". Though, adding tokens as AuthType for WebDav/CalDav, in general, might enable the usage of other providers too.

Adding nextcloud as a separate provider would help to distinguish between issues with Nextcloud and other WebDav/CalDav Servers. Lastly, using tokens is more secure and removes domain-related sync problems as well.

EngelPika32 avatar Oct 28 '21 19:10 EngelPika32

Thank you very much for digging into this @EngelPika32 !!

Adding nextcloud as a separate provider would help to distinguish between issues with Nextcloud and other WebDav/CalDav Servers.

I agree. It is important however that the distinction between issue provider and sync provider is something that should still be maintained (because otherwise things will get very complicated – also: I did not understand your comment in that way, but I still wanted to point this out explicitly to avoid misunderstandings).

Help with this is still very welcome! I personally don't use nextcloud and for now I am happy that there is nextcloud support via webdav, but improving this would be great!

johannesjo avatar Oct 29 '21 16:10 johannesjo

This issue has not received any updates in 90 days. Please comment, if this still relevant!

github-actions[bot] avatar Mar 08 '22 01:03 github-actions[bot]

Still relevant^ (though, it's probably low priority).

EngelPika32 avatar Mar 08 '22 13:03 EngelPika32

This issue has not received any updates in 90 days. Please comment, if this still relevant!

github-actions[bot] avatar Jul 09 '22 02:07 github-actions[bot]

Open please

On Fri, Jul 8, 2022, 7:16 PM github-actions[bot] @.***> wrote:

This issue has not received any updates in 90 days. Please comment, if this still relevant!

— Reply to this email directly, view it on GitHub https://github.com/johannesjo/super-productivity/issues/914#issuecomment-1179461266, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANUKZTVAOKFZPEDZ6AX7MTVTDOINANCNFSM4X6DCWUQ . You are receiving this because you were mentioned.Message ID: @.***>

sunjam avatar Jul 09 '22 04:07 sunjam

This issue has not received any updates in 90 days. Please comment, if this still relevant!

github-actions[bot] avatar Nov 23 '22 02:11 github-actions[bot]

https://github.com/johannesjo/super-productivity/issues/914#issuecomment-1324458190

@GitHub-Actions, please reopen this issue. I literally can't use this application, because I use a non-self-hosted instance (https://wim.nl.tab.digital) where I don't possess permission to install the necessary Nextcloud https://apps.nextcloud.com/apps/webapppassword app.

https://github.com/tasks/tasks supports Nextcloud auth via Davx5, but that only works for Android – and SupProd doesn't even support that, per https://github.com/johannesjo/super-productivity/issues/2719#issue-1848238695 – whereas I'd like to use this on Linux.

RokeJulianLockhart avatar Aug 12 '23 19:08 RokeJulianLockhart

This issue has not received any updates in 90 days. Please comment, if this still relevant!

github-actions[bot] avatar Dec 19 '23 01:12 github-actions[bot]

open please

sunjam avatar Dec 19 '23 14:12 sunjam