OAuth support
-
Btw OAuth3 is around the corner and as far as I understood it wont help much in the mess OAuth generally has caused.
All OAuth versions are structurally not well suited for a use-case like Cloudron. The issue is, that they have a central auth authority in mind (google, facebook, ...) where on Cloudron each Cloudron is its own authority, which leads to even more issues within app support. So this is one reason which led us to simply not pursuing this further.
To give more insight into our decision: LDAP won thus far. It has drawbacks (lack of 2fa and real SSO) but generally works well also with the applications UI flows and is by far the most supported and standardized one.
-
@mehdi Doesn't software like Gluu and Keycloak abstract different auth methods (LDAP, oauth, saml,...) under a single system to provide SSO?
I was looking at Gluu, and under the hood it is a LDAP implementation, so I could imagine it could replace or interface with the current system. (I haven't looked into Keycloak but I guess it's a similar concept?)
So SSO/2FA with only oauth on cloudron is dead but maybe Keycloak or Gluu is still something worth to be looked at?
-
@nebulon said in OAuth support:
. It has drawbacks (lack of 2fa and real SSO)
Thank you for explaining to me the decision behind the decision and I def agree with it.Ya know, is the LDAP protocol still being updated? Maybe it'll get 2FA. And as for "real SSO" - I'd kind of say it's real enough. Or when you say real, you mean, once you login to Cloudron, if it was "real SSO" - you could click on a supported app and already be logged in? That...sounds technically feasible, but I'm just curious if that's what you meant by "real" (instead of just re-using the same credentials).
-
@Lonk LDAP is just a directory tool. You can use it today with 2FA by storing the TOTP info there, just like you would with any other database.
The difficulty is that the application must actually use that data.
Alternatives would be to use methods like a proxy where you authenticate with username and password+token rather than a third field for token. This would allow implementing 2FA universally though it is unintuitive to users.
-
@iamthefij said in OAuth support:
@Lonk LDAP is just a directory tool. You can use it today with 2FA by storing the TOTP info there, just like you would with any other database.
The difficulty is that the application must actually use that data.
Alternatives would be to use methods like a proxy where you authenticate with username and password+token rather than a third field for token. This would allow implementing 2FA universally though it is unintuitive to users.
Oh, I'm quite new to this. I thought the original goal for Oauth was to accomplish SSO and LDAP is like half-SSO but mostly compatible (you just have to login again with the same credentials). I know also 2FA was a factor, in fact, you can enable it for Cloudron users rn so it's in the user DB which means it may already be available to re-use. I wonder if I should include support for the TOTP in my small PHP Cloudron-LDAP library I'm making.
-
I understand VERY LITTLE about this, and not sure this question even makes sense in this thread, but I'll shoot my shot anyway:
Would it make sense maybe to make Cloudron a "proper" OpenID provider, backed by its LDAP directory, so we could maybe sign into third-party apps that support OpenID with our cloudron identities?
I think like @nebulon said most apps nowadays are settling for google/facebook/github authentication, but maybe, just maybe, as people get more concerned about privacy, we can push to go (back) towards a decentralized identity kind of thing?
<old-man rant>
Sad how for a while, a decade or two back, we had this thriving hivemind of how the internet would empower us and build decentralized everything, and then all of a sudden we let a few big companies just commodify our identities and sell us as products with no regard for our privacy.
</rant>Sorry about the last paragraph, but what do you guys think about being an openid provider and stuff?
-
Since we're in it, worth having a look at the future here : IndieAuth
specs : https://indieauth.net/
Try it : https://indieauth.com/
my blog support indieweb blocks by design so I can already login to a bunch of sites with my own identity, there is also indieweb pack plugins for wordpress/drupal, I hope Indieauth will catch up and become a universal decentralized method to handle identity on the web. -