Now checks if the service can provide cookies

This commit is contained in:
2010-03-01 15:48:17 +00:00
parent 828a9a33d4
commit 634727c51b
4 changed files with 27 additions and 3 deletions

View File

@@ -59,6 +59,14 @@ class Service(models.Model):
api = models.CharField(max_length=200)
groups = models.ManyToManyField(Group, blank=False)
@property
def provide_login(self):
return acc.service.api().settings['provide_login']
def api(self):
return get_api(self.api)
def __str__(self):
#return "%s: %s" % (self.name, self.api)
return self.name
@@ -79,7 +87,7 @@ class ServiceAccount(models.Model):
if not self.username:
self.username = self.user.username
api = get_api(self.service.api)
api = self.service.api()
if self.active:
if not api.check_user(self.username):

View File

@@ -17,6 +17,10 @@ class BaseService():
"""
settings = { 'require_user': True,
'require_password': True,
'provide_login': False }
def add_user(self, username, password):
""" Add a user """
pass
@@ -36,3 +40,7 @@ class BaseService():
def check_user(self, username):
""" Check if the username exists """
pass
def login(username):
""" Login the user and provide cookies back """
pass

View File

@@ -3,7 +3,11 @@ from sso.services.jabber.ejabberdctl import eJabberdCtl
import settings
class JabberService(BaseService):
settings = { 'require_user': True,
'require_password': True,
'provide_login': False }
def __init__(self):
self.ejctl = eJabberdCtl(sudo=settings.JABBER_SUDO)