re-author plugins

This commit is contained in:
Nick Sweeting 2024-10-15 01:00:21 -07:00
parent 01ba6d49d3
commit 654bd22bd0
No known key found for this signature in database
19 changed files with 42 additions and 31 deletions

View file

@ -1,9 +1,10 @@
__package__ = 'plugins_auth.ldap'
__label__ = 'ldap'
__id__ = 'ldap'
__label__ = 'LDAP'
__version__ = '2024.10.14'
__author__ = 'Nick Sweeting'
__author__ = 'ArchiveBox'
__homepage__ = 'https://github.com/django-auth-ldap/django-auth-ldap'
# __dependencies__ = ['pip']
__dependencies__ = ['pip']
import abx
@ -11,22 +12,24 @@ import abx
@abx.hookimpl
def get_PLUGIN():
return {
'ldap': {
'PACKAGE': __package__,
'LABEL': __label__,
'VERSION': __version__,
'AUTHOR': __author__,
'HOMEPAGE': __homepage__,
# 'DEPENDENCIES': __dependencies__,
__id__: {
'id': __id__,
'package': __package__,
'label': __label__,
'version': __version__,
'author': __author__,
'homepage': __homepage__,
'dependencies': __dependencies__,
}
}
@abx.hookimpl
def get_CONFIG():
from .config import LDAP_CONFIG
return {
'ldap': LDAP_CONFIG
__id__: LDAP_CONFIG
}
@abx.hookimpl
@ -39,6 +42,11 @@ def get_BINARIES():
def create_superuser_from_ldap_user(sender, user=None, ldap_user=None, **kwargs):
"""
Invoked after LDAP authenticates a user, but before they have a local User account created.
ArchiveBox requires staff/superuser status to view the admin at all, so we must create a user
+ set staff and superuser when LDAP authenticates a new person.
"""
from django.conf import settings
if user is None:
@ -53,9 +61,12 @@ def create_superuser_from_ldap_user(sender, user=None, ldap_user=None, **kwargs)
@abx.hookimpl
def ready():
"""
Called at AppConfig.ready() time (settings + models are all loaded)
"""
from django.conf import settings
if settings.CONFIGS.ldap.LDAP_ENABLED:
# tell django-auth-ldap to call our function when a user is authenticated via LDAP
import django_auth_ldap.backend
django_auth_ldap.backend.populate_user.connect(create_superuser_from_ldap_user)