In some application (e.g. deposit), those user fields might not be filled in. As it's not enforced by
keycloak, relax such constraint.
Without this diff, user connection on the deposit fails with the following server side:
swh-deposit_1 | Internal Server Error: /deposit/1/servicedocument/ swh-deposit_1 | Traceback (most recent call last): swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner swh-deposit_1 | response = get_response(request) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response swh-deposit_1 | response = self.process_exception_by_middleware(e, request) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response swh-deposit_1 | response = wrapped_callback(request, *callback_args, **callback_kwargs) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view swh-deposit_1 | return view_func(*args, **kwargs) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view swh-deposit_1 | return self.dispatch(request, *args, **kwargs) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/rest_framework/views.py", line 509, in dispatch swh-deposit_1 | response = self.handle_exception(exc) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/rest_framework/views.py", line 469, in handle_exception swh-deposit_1 | self.raise_uncaught_exception(exc) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception swh-deposit_1 | raise exc swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/rest_framework/views.py", line 497, in dispatch swh-deposit_1 | self.initial(request, *args, **kwargs) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/rest_framework/views.py", line 414, in initial swh-deposit_1 | self.perform_authentication(request) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/rest_framework/views.py", line 324, in perform_authentication swh-deposit_1 | request.user swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/rest_framework/request.py", line 227, in user swh-deposit_1 | self._authenticate() swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/rest_framework/request.py", line 380, in _authenticate swh-deposit_1 | user_auth_tuple = authenticator.authenticate(self) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/rest_framework/authentication.py", line 87, in authenticate swh-deposit_1 | return self.authenticate_credentials(userid, password, request) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/swh/deposit/auth.py", line 151, in authenticate_credentials swh-deposit_1 | oidc_user = oidc_user_from_profile(self.client, oidc_profile) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/swh/auth/django/utils.py", line 80, in oidc_user_from_profile swh-deposit_1 | user = oidc_user_from_decoded_token(decoded_token, client_id=oidc_client.client_id) swh-deposit_1 | File "/srv/softwareheritage/venv/lib/python3.7/site-packages/swh/auth/django/utils.py", line 39, in oidc_user_from_decoded_token swh-deposit_1 | email=decoded_token["email"], swh-deposit_1 | KeyError: 'email'
Related to T2858