mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 06:42:16 +00:00
* Added SSOUser extension profile for auth * Now checks for Corp membership and executes required commands * Various small fixups
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
from sso.services import BaseService
|
|
from sso.services.jabber.ejabberdctl import eJabberdCtl
|
|
import settings
|
|
|
|
class JabberService(BaseService):
|
|
|
|
corp_only = True
|
|
|
|
def __init__(self):
|
|
self.ejctl = eJabberdCtl(sudo=settings.JABBER_SUDO)
|
|
|
|
def add_user(self, username, password):
|
|
""" Add user to service """
|
|
return self.ejctl.register(username, settings.JABBER_SERVER, password)
|
|
|
|
def set_corp(self, username):
|
|
""" User is in corp, enable extra privs """
|
|
pass
|
|
|
|
def delete_user(self, username):
|
|
""" Delete a user """
|
|
return self.ejctl.unregister(username, settings.JABBER_SERVER)
|
|
|
|
def disable_user(self, username):
|
|
""" Disable a user """
|
|
return self.ejctl.ban_user(settings.JABBER_SERVER, username)
|
|
|
|
def enable_user(self, username):
|
|
""" Enable a user """
|
|
return self.ejctl.enable_user(settings.JABBER_SERVER, username, password)
|
|
|
|
def check_user(self, username):
|
|
""" Check if the username exists """
|
|
if username not in self.ejctl.get_users(settings.JABBER_SERVER):
|
|
return False
|
|
else:
|
|
return True
|
|
|
|
ServiceClass = 'JabberService'
|