public override void Init(XmppClientConnection con) { XmppClientConnection = con; string kerbPrinc = XmppClientConnection.KerberosPrincipal; /* * try to build the kerberos principal if none is sent by the server or provided by the user. * XCP send the kerberos pricipal, Openfire doesnt. */ if (kerbPrinc == null) kerbPrinc = string.Format("xmpp/{0}@{1}", XmppClientConnection.Server, GetNtDomain()); //if (XmppClientConnection.KerberosPrincipal != null) // sspiHelper = new SSPIHelper(XmppClientConnection.KerberosPrincipal); //else // sspiHelper = new SSPIHelper(); sspiHelper = new SSPIHelper(kerbPrinc); Auth auth = new Auth(MechanismType.GSSAPI); byte[] clientToken; sspiHelper.Process(null, out clientToken); auth.Value = Convert.ToBase64String(clientToken); XmppClientConnection.Send(auth); }
private void DoSaslAuth() { // <auth xmlns=”urn:ietf:params:xml:ns:xmpp-sasl” mechanism=”X-GOOGLE-TOKEN”>Base 64 Token goes here</auth> Auth auth = new Auth(MechanismType.X_GOOGLE_TOKEN, _Base64Token); base.XmppClientConnection.Send(auth); }