{"action":"opened","issue":{"url":"https://api.github.com/repos/strophe/strophejs/issues/158","labels_url":"https://api.github.com/repos/strophe/strophejs/issues/158/labels{/name}","comments_url":"https://api.github.com/repos/strophe/strophejs/issues/158/comments","events_url":"https://api.github.com/repos/strophe/strophejs/issues/158/events","html_url":"https://github.com/strophe/strophejs/issues/158","id":115718776,"number":158,"title":"Strophe DIGEST-MD5 authentication on BOSH, missing key= parameter?","user":{"login":"kenrestivo","id":108085,"avatar_url":"https://avatars.githubusercontent.com/u/108085?v=3","gravatar_id":"","url":"https://api.github.com/users/kenrestivo","html_url":"https://github.com/kenrestivo","followers_url":"https://api.github.com/users/kenrestivo/followers","following_url":"https://api.github.com/users/kenrestivo/following{/other_user}","gists_url":"https://api.github.com/users/kenrestivo/gists{/gist_id}","starred_url":"https://api.github.com/users/kenrestivo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kenrestivo/subscriptions","organizations_url":"https://api.github.com/users/kenrestivo/orgs","repos_url":"https://api.github.com/users/kenrestivo/repos","events_url":"https://api.github.com/users/kenrestivo/events{/privacy}","received_events_url":"https://api.github.com/users/kenrestivo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-11-08T09:07:47Z","updated_at":"2015-11-08T09:07:47Z","closed_at":null,"body":"I'm trying to debug a problem in which OpenFire refuses to authenticate Strophe.js using the DIGEST-MD5 algorithm. All other libraries work, including JSJAC.\r\n\r\nI've spent hours debugging this, and have narrowed it down to this:\r\n\r\nAfter presented with a list of auths, as such\r\n```xml\r\n      <body xmlns=\"http://jabber.org/protocol/httpbind\" xmlns:stream=\"http://etherx.jabber.org/streams\" from=\"blablanet.com\" authid=\"f7753f42\" sid=\"f7753f42\" secure=\"true\" requests=\"2\" inactivity=\"30\" polling=\"5\" wait=\"1\" hold=\"1\" ack=\"801496\" maxpause=\"300\" ver=\"1.6\">\r\n        <stream:features>\r\n              <mechanisms xmlns=\"urn:ietf:params:xml:ns:xmpp-sasl\">\r\n                <mechanism>DIGEST-MD5</mechanism>\r\n                <mechanism>PLAIN</mechanism>\r\n                <mechanism>CRAM-MD5</mechanism>\r\n              </mechanisms>\r\n              <register xmlns=\"http://jabber.org/features/iq-register\"/>\r\n              <bind xmlns=\"urn:ietf:params:xml:ns:xmpp-bind\"/>\r\n              <session xmlns=\"urn:ietf:params:xml:ns:xmpp-session\">\r\n                <optional/>\r\n              </session>\r\n        </stream:features>\r\n      </body>\r\n```\r\n\r\nStrophe.js replies thus:\r\n```xml\r\n\t<body rid='3775479518' xmlns='http://jabber.org/protocol/httpbind' sid='8acb1e97'>\r\n   <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>\r\n </body>\r\n```\r\n\r\nWhich causes the server to close the connection.\r\n\r\nWhile JSJAC replies like this:\r\n```xml\r\n      <body xml:lang='en' rid='801497' sid='f7753f42' xmlns='http://jabber.org/protocol/httpbind' key='26efd7f6a1afce46311372c63d9b5d2b76cd3bc8' >\r\n        <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>\r\n      </body>\r\n```\r\n\r\nWhich works fine, and proceeds to the next step (the server sends the challenge).\r\n\r\nIs there some way to get strophe.js to include this key= parameter, which you'll notice is missing, but JSJAC supplies?\r\n\r\nIt's kind of conjecture whether this is in fact the problem, but it's really the only difference between the BOSH auth exchange is that strophe doesn't include the key="}}