SSO / oidc support
Not sure the feature already exists thanks to django framework server
There is a core problem with SSO.
When using password authentication, the encryption key is derived from the password. With SSO, I see no sensible way to derive an encryption key.
Maybe you have an idea how to solve this problem, otherwise I think SSO is just infeasible for EteSync.
No strong confidence on the below naive approach, happy to have your thought
- Map the password to a given attribute in the SSO payload, let's say now encryption derive from
etesync_keyattribute managed by the provider - On the provider side, encrypt/decrypt
etesync_keywith the user password, and pass it to etesync as a payload. Sounds like possible w/ keyckoak
This means on etesync side there is no complexity, the risky part is delegated to the provider.
You can do SSO for the user provisioning and authentication (I'm pretty sure we support SAML already? Not sure) though the encryption key will have to be separate.
The main problem though is that we would need to also implement this across all of the clients, and I think the added benefit is minimal.