12345678910111213141516171819202122 |
- from django.core.exceptions import PermissionDenied
- from social_django.strategy import DjangoStrategy
- class MisagoStrategy(DjangoStrategy):
- def setting(self, name, default=None, backend=None):
- if backend:
- backend_settings = self.request.socialauth[backend.name]["settings"]
- if name in backend_settings:
- return backend_settings[name]
- return super().setting(name, default, backend)
- def authenticate(self, backend, *args, **kwargs):
- kwargs["strategy"] = self
- kwargs["storage"] = self.storage
- kwargs["backend"] = backend
- try:
- return backend.authenticate(*args, **kwargs)
- except PermissionDenied:
- pass
|