mozilla / mozilla-django-oidc

A django OpenID Connect library
https://mozilla-django-oidc.readthedocs.io
Mozilla Public License 2.0
452 stars 169 forks source link

Multi-tenant ability for authentication #415

Open Puschek opened 3 years ago

Puschek commented 3 years ago

We used your library for our open source project as an additional authentication backend. Since we switched to a multi-tenant setup, we would like to only use your lib as a single authentication backend but this is not possible as we liked to. I already have a solution on how to do it with your lib and it is working. But that included a lot of copy&past of existing code and just some little changes to your code (change of access to setting variables).

My question is how do I proceed within your licence?

  1. Merge request and add my changes for multi-tenant support to your project
  2. Fork your project, change it to my needs and use this as dependency inside my project
  3. (My current solution) Overwrite your methods within my own django app. This contains a lot of copy & past code since I did not change your logic, just the parts you are using the get_settings method or the variables set inside the init function.

It is not a matter of technical issues, since everything would work. Just a questions what is permitted by your licence. Obviously I would prefer option 3 since this is already up and running inside my local version.

Best regards, Dominique

vaimdev commented 3 years ago

Support for this feature. I am working on adding OIDC authentication capability for a Django app that supports multi-tenants. I am planning to fork the repo to implement my version as Puschek did. However, I hope it can be an upstream feature since SSO capability is needed by many organizations and they have their own configurations and settings.

mcbarin commented 2 years ago

I'm surprised this has been ignored for a long time. I also need the multi-tenant support. Anyone know any alternatives that I can use instead of this library (or any fork that supports this) ?