From a7adb48bae64720345440147e661b0369028b267 Mon Sep 17 00:00:00 2001 From: Zaran Date: Sat, 14 May 2011 01:03:22 +0200 Subject: On connection get the user alias information and decrypt his private key --- webclient/lib/alias.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/webclient/lib/alias.js b/webclient/lib/alias.js index f5945d7..e8174c0 100644 --- a/webclient/lib/alias.js +++ b/webclient/lib/alias.js @@ -17,6 +17,31 @@ var Alias = { */ connection: null, + /** + * Send initialization request to the component + */ + getInit: function() { + var init = $iq({to: server_component, type:'get'}); + init.c('query',{xmlns:'jaber:iq:register'}); + Alias.connection.sendIQ(init, onInit); + }, + + /** + * Receive initialization data + */ + onInit: function(iq) { + + if ($(iq).find('query > registered').length() === 0){ + // user is registered, get the info from the form + var form = $(iq).find('query > x'); + this.pubkey = form.find('field[var="pubkey"] > value'); + this.salt = form.find('field[var="pubkey"] > value'); + var privkey = form.find('field[var="pubkey"] > value'); + var salt = form.find('field[var="salt"] > value'); + this.privkey = sjcl.decrypt(Alias.connection.pass, privkey, {salt: salt}); + } + }, + /** * Send a roster request to server */ @@ -212,6 +237,7 @@ var Alias = { */ onConnect: function() { Alias.getRoster(); + Alias.getInit(); // hide the login dialog and load the interface $('#login').hide(); -- cgit v1.2.3-70-g09d2