mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 14:52:15 +00:00
Now checks if the service can provide cookies
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -25,7 +25,11 @@ a new service click the Add Service link</p>
|
||||
<td>{{ acc.username }}</td>
|
||||
<td>******</td>
|
||||
<td>{{ acc.active }}</td>
|
||||
<td><a href="/profile/del/service/{{ acc.id }}/">Delete</a></td>
|
||||
<td><a href="/profile/del/service/{{ acc.id }}/">Delete
|
||||
{% if acc.provide_login %}
|
||||
/ <a href="/profile/login/service/{{ acc.id }}/">Login>/a>
|
||||
{% endif %}
|
||||
</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user