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)
|
api = models.CharField(max_length=200)
|
||||||
groups = models.ManyToManyField(Group, blank=False)
|
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):
|
def __str__(self):
|
||||||
#return "%s: %s" % (self.name, self.api)
|
#return "%s: %s" % (self.name, self.api)
|
||||||
return self.name
|
return self.name
|
||||||
@@ -79,7 +87,7 @@ class ServiceAccount(models.Model):
|
|||||||
if not self.username:
|
if not self.username:
|
||||||
self.username = self.user.username
|
self.username = self.user.username
|
||||||
|
|
||||||
api = get_api(self.service.api)
|
api = self.service.api()
|
||||||
|
|
||||||
if self.active:
|
if self.active:
|
||||||
if not api.check_user(self.username):
|
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):
|
def add_user(self, username, password):
|
||||||
""" Add a user """
|
""" Add a user """
|
||||||
pass
|
pass
|
||||||
@@ -36,3 +40,7 @@ class BaseService():
|
|||||||
def check_user(self, username):
|
def check_user(self, username):
|
||||||
""" Check if the username exists """
|
""" Check if the username exists """
|
||||||
pass
|
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
|
import settings
|
||||||
|
|
||||||
class JabberService(BaseService):
|
class JabberService(BaseService):
|
||||||
|
|
||||||
|
settings = { 'require_user': True,
|
||||||
|
'require_password': True,
|
||||||
|
'provide_login': False }
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.ejctl = eJabberdCtl(sudo=settings.JABBER_SUDO)
|
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>{{ acc.username }}</td>
|
||||||
<td>******</td>
|
<td>******</td>
|
||||||
<td>{{ acc.active }}</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>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
Reference in New Issue
Block a user