diff options
author | Tomas Touceda <chiiph@leap.se> | 2013-04-10 09:56:36 -0300 |
---|---|---|
committer | Tomas Touceda <chiiph@leap.se> | 2013-04-11 16:02:14 -0300 |
commit | fd17db8aaeda0c5997a608fd2d2e0392eb0c68ae (patch) | |
tree | a96e6c675b08d583a50228dbe2946dbd338384a4 | |
parent | e0032a6c97b3ed766698521c76bc37d0655f4277 (diff) |
Emit session_id and uid through events
-rw-r--r-- | changes/feature_emit_events | 2 | ||||
-rw-r--r-- | src/leap/crypto/srpauth.py | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/changes/feature_emit_events b/changes/feature_emit_events new file mode 100644 index 00000000..7abfc667 --- /dev/null +++ b/changes/feature_emit_events @@ -0,0 +1,2 @@ + o Emit events notifying of the session_id and uid after + authentication so other services can make use of it. Closes #1957
\ No newline at end of file diff --git a/src/leap/crypto/srpauth.py b/src/leap/crypto/srpauth.py index 8028a6dc..ba8ac3f5 100644 --- a/src/leap/crypto/srpauth.py +++ b/src/leap/crypto/srpauth.py @@ -26,6 +26,8 @@ from PySide import QtCore, QtGui from leap.common.check import leap_assert from leap.config.providerconfig import ProviderConfig from leap.util.checkerthread import CheckerThread +from leap.common.events import signal as events_signal +from leap.common.events import events_pb2 as proto logger = logging.getLogger(__name__) @@ -237,7 +239,11 @@ class SRPAuth(QtCore.QObject): (auth_result.status_code,)) M2 = auth_result.json().get("M2", None) - self.set_uid(auth_result.json().get("id", None)) + uid = auth_result.json().get("id", None) + + events_signal(proto.CLIENT_UID, content=uid) + + self.set_uid(uid) if M2 is None or self.get_uid() is None: logger.error("Something went wrong. Content = %r" % @@ -279,6 +285,9 @@ class SRPAuth(QtCore.QObject): raise SRPAuthenticationError(self.tr("Session cookie " "verification " "failed")) + + events_signal(proto.CLIENT_SESSION_ID, content=session_id) + self.set_session_id(session_id) def authenticate(self, username, password): |