public override Packet Handle(Packet packet) { if (packet.HasChild("bind")) { var jid = packet.GetChild("bind").GetChild("jid").Value; Logger.Log("Full jid = " + jid); OnBinding(packet); } return packet; }
public override Packet Handle(Packet packet) { if (packet.Name == "failure") { // Logger.Log("Auth FAIL - " + packet); } if (packet.Name == "success") { var token = packet.GetChild("pw-token"); var expiry = Int32.Parse(token.GetAttribute("expires_in_minutes")); var value = token.Value; Session.Token = new AuthToken(value, expiry); OnAuthentication(packet); } return packet; }
public override Packet Handle(Packet packet) { if (packet.HasChild("mechanisms")) { var mechanisms = packet.GetChild("mechanisms").GetChildren("mechanism"); if (mechanisms.Any(mechanism => mechanism.Value == "PLAIN-PW-TOKEN")) { var pwAuth = new AuthenticationPlainPw(Session); pwAuth.OnAuthentication += stanza => OnAuthenticated(stanza); pwAuth.Authenticate(); } } if (packet.HasChild("bind")) { var binder = new ResourceBinder(Session); binder.OnBinding += stanza => OnResourceBinding(stanza); binder.Bind(Session.Account.Resource); } return packet; }