User backend API overhaul

Thank you for creating this. I agree with everything you wrote, although I can’t find ICustomLoginin the Nextcloud code.

More thoughts from me:

  • User backend capability detection (e.g. “can this user backend change passwords?”) system should not rely on compile time type checking, i.e. interfaces as is the case with OCP\User\Backend\I....Backend.

    This is because user backend’s capabilities vary from Nextcloud instance to instance and they all use the same user backend code. Therefore user backends must be able to communicate to Nextcloud what capabilities they have during runtime, depending on what admins have configured.

    See also: Can I already use OCP\User\Backend to implement a user backend

  • There should be more capabilities for user backends to provide. e.g.

    • getUserEMail / setUserEmail
    • getUserQuota / setUserQuota
1 Like