custom login, setting userId

Post here your questions about Actionscript and Java server side extensions development.

Moderators: Lapo, Bax

mixart
Posts: 95
Joined: 08 Aug 2007, 20:32

custom login, setting userId

Postby mixart » 27 Jan 2010, 12:31

I have a custom login and am aware that I need to set these two API vars manually:
smartfox.myUserName = ??
smartfox.myUserId = ??

My question is, do I get the userId on the serverside code and pass that to the extension response? If so, I am having trouble finding out how to get a user object from the handleInternalEvent(evt).

Could someone point me to what I need to do on the client and serverside code to set these two vars?


Code: Select all

function handleInternalEvent(evt) {
   if (evt.name == "loginRequest") {
      var error = "";
      var nick = evt["nick"];
      var pass = evt["pass"];
      var chan = evt["chan"];

      var obj = _server.loginUser(nick, pass, chan, true);

      if (obj.success == false) {
         error = obj.error;
      }
      // Send response to client
      var response = new Object();
      if (error == "") {
         response._cmd = "logOK";
      } else {
         response._cmd = "logKO";
         response.err = error;
      }
      _server.sendResponse(response, -1, null, chan);
   }
}



Code: Select all

function onExtensionResponseInit (evt:SFSEvent){   
    var resObj:Object = evt.params.dataObj;
    var cmd:String = resObj['_cmd'];
    smartfox.myUserName = ??
    smartfox.myUserId = ??
}
mixart
Posts: 95
Joined: 08 Aug 2007, 20:32

Postby mixart » 28 Jan 2010, 09:11

I spent a day searching through the docs and forums for an answer and managed to luckily stumble onto the answer in a forum :)

My updated code if anyone is interested..

Code: Select all

function handleInternalEvent(evt) {
   if (evt.name == "loginRequest") {
      var error = "";
      var nick = evt["nick"];
      var pass = evt["pass"];
      var chan = evt["chan"];

      var obj = _server.loginUser(nick, pass, chan, true);

      if (obj.success == false) {
         error = obj.error;
      }
      // Send response to client
      var response = new Object();

      var usr = _server.getUserByChannel(chan);
     
      if (error == "") {
         response._cmd = "logOK";
   response._userName = usr.getName();
   response._userId = usr.getUserId();

      } else {
         response._cmd = "logKO";
         response.err = error;
      }
      _server.sendResponse(response, -1, null, chan);
   }
}




Code: Select all

function onExtensionResponseInit (evt:SFSEvent){   
    var resObj:Object = evt.params.dataObj;
    var cmd:String = resObj['_cmd'];
    smartfox.myUserName = resObj['_userName'];
    smartfox.myUserId = resObj['_userId'];
   
}

Return to “Server Side Extension Development”

Who is online

Users browsing this forum: No registered users and 43 guests