maykinmedia / mozilla-django-oidc-db

Database-backed settings for mozilla-django-oidc, with modified unique identifiers for users
MIT License
4 stars 0 forks source link

Parametrize callback views #105

Closed sergei-maertens closed 3 months ago

sergei-maertens commented 3 months ago

Closes #99

This is the last bit for the view/backend aspect, the refresh middleware will need to be tackled in another phase as that one seems trickier.

I noticed in Open Forms that I was struggling to implement the error handling during the callback view, there are essentially 3 possible flows (admin login, org-oid and digid/eh oidc) where the latter two are similar but not the same. The code organization for this is pretty nasty since those auth plugins should be decoupled from each other.

This view rework solves that - it allows us to use a single (!) callback endpoint while customizing the behaviour at the view level. The config class is used to route/invoke the desired view callable.