johannesjo / super-productivity

Super Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, Gitlab, GitHub and Open Project.
http://super-productivity.com
MIT License
11.92k stars 924 forks source link

Loginflow SSO for Nextcloud #914

Open sunjam opened 3 years ago

sunjam commented 3 years ago

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!!!

johannesjo commented 3 years ago

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

github-actions[bot] commented 3 years ago

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

johannesjo commented 3 years ago

Still relevant, I think.

sunjam commented 3 years ago

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 .

steccas commented 3 years ago

This is important, and I'm willing to help

johannesjo commented 3 years ago

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?

EngelPika32 commented 3 years ago

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:

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.

johannesjo commented 3 years ago

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!

github-actions[bot] commented 2 years ago

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

EngelPika32 commented 2 years ago

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

github-actions[bot] commented 2 years ago

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

sunjam commented 2 years ago

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: @.***>

github-actions[bot] commented 1 year ago

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

RokeJulianLockhart commented 1 year ago

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.

github-actions[bot] commented 10 months ago

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

sunjam commented 10 months ago

open please

github-actions[bot] commented 6 months ago

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

RokeJulianLockhart commented 6 months ago

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

@GitHub-Actions, it remains relevant.

sunjam commented 6 months ago

Open please.

github-actions[bot] commented 2 months ago

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

RokeJulianLockhart commented 2 months ago

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

@GitHub-Actions, https://github.com/johannesjo/super-productivity/issues/914#issuecomment-2063926359

sunjam commented 2 months ago

CORS support is in development for 31.