"""
if not BACKENDSCACHE or force_load:
for auth_backend in setting('AUTHENTICATION_BACKENDS'):
- module = import_module(auth_backend.rsplit(".", 1)[0])
- backends = getattr(module, "BACKENDS", {})
- for name, backend in backends.items():
- if backend.enabled():
- BACKENDSCACHE[name] = backend
+ mod, cls_name = auth_backend.rsplit('.', 1)
+ module = import_module(mod)
+ backend = getattr(module, cls_name)
+
+ if issubclass(backend, SocialAuthBackend):
+ name = backend.name
+ backends = getattr(module, 'BACKENDS', {})
+ if name in backends and backends[name].enabled():
+ BACKENDSCACHE[name] = backends[name]
return BACKENDSCACHE