summaryrefslogtreecommitdiff
path: root/service/pixelated/resources/auth.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/resources/auth.py')
-rw-r--r--service/pixelated/resources/auth.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/service/pixelated/resources/auth.py b/service/pixelated/resources/auth.py
index 92efaa27..e2e7ec97 100644
--- a/service/pixelated/resources/auth.py
+++ b/service/pixelated/resources/auth.py
@@ -78,12 +78,14 @@ class SessionCredential(object):
class SessionChecker(object):
credentialInterfaces = (ISessionCredential,)
+ def __init__(self, services_factory):
+ self._services_factory = services_factory
+
def requestAvatarId(self, credentials):
session = self.get_session(credentials.request)
- if session.is_logged_in():
- return defer.succeed(session.user_uuid)
- else:
- return defer.succeed(ANONYMOUS)
+ if session.is_logged_in() and self._services_factory.is_logged_in(session.user_uuid):
+ return defer.succeed(session.user_uuid)
+ return defer.succeed(ANONYMOUS)
def get_session(self, request):
return IPixelatedSession(request.getSession())
@@ -131,7 +133,6 @@ class PixelatedAuthSessionWrapper(object):
def _loginSucceeded(self, args):
interface, avatar, logout = args
-
if avatar == checkers.ANONYMOUS:
return self._anonymous_resource
else: