Small fix needed for custom user models
I'm using a custom Django user model, and ucamwebauth wouldn't quite work because the OneToOneField in models.UserProfile makes the assumption that you're linking to the standard User from django.contrib.auth.
Making these changes in models.py:
from django.conf import settings
...
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="profile")
fixes it for me and I think is the correct general solution.
Thanks!