Support custom authentication backends
As there are many ways to authenticate users against a web service, we should support that apps can add custom authentication backends. Currently the AlekSIS core supports Django model authentication and LDAP authentication. But in further use cases of AlekSIS, there might be other useful methods: One example could be the authentication of parents. They could get a one-time code per e-mail and could check if their contact details are still correct.
As @nik has already mentioned, the security risks must be checked while implementing this behavior.