We are trying to change the login form, and for that we want to use mobile number instead of email ID while login and registration process.
We are on latest release of Tutor (maple) and on K8s. We don’t want to fork the edx-platform repo and want to achieve this. We are leveraging open edx plugin mechanism to achieve this. And created login and registration pluggable application with custom themes with custom URL endpoints. With this custom endpoints, user will always lands on our custom pages only. But what if somehow user get to know default login endpoint and accessing it? How to stop that access w/o making any code base change in the edx-platform repo?
Another issue is that in mobile application we are using custom forms for login and registration and calling custom APIs. Everything works fine except Quiz part inside courseware. User is not able to open MCQ question. Getting error as “Please check you internet Connection”. And on the backend side getting following error trace:
File "/openedx/edx-platform/./openedx/core/djangoapps/auth_exchange/views.py", line 145, in post │ │ request.user.backend = self._get_path_of_arbitrary_backend_for_user(request.user) │ │ File "/openedx/edx-platform/./openedx/core/djangoapps/auth_exchange/views.py", line 118, in _get_path_of_arbitrary_backend_for_user │ │ if backend.get_user(user.id): │ │ AttributeError: 'ObjectPermissionBackend' object has no attribute 'get_user'
We do also want to resolve this thing w/o fork.
Any help is much appreciated.