最近在做xmpp的IM项目,项目组更换了新的openfire服务器,搭建了新的控制台。结果就............
报错:
<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized></not-authorized></failure>。
在网上找了很久,大多数同学都说是,jid设置不正确。结果表明,确实是jid设置不正确。再详细点讲,就是openfire控制台的服务器设置的host与服务器真实域名不一致。还是用图片来详细的解释一下吧。
1、服务器设置
这里的服务器名称、Host Name就是关联我们ios代码里面的Jid的设置。
2、服务器属性
还要注意的是xmpp.domain,在控制台的系统属性里面:
domain最好是设置成170.168.1.250之类的样式,如果不小心搞成了一段字母,如abc-def。那么我们就需要将这个改回来,然后重启openfire服务器。不过重启服务器可能会在服务器名前出现一个警告的叹号,
鼠标放上去显示Found RSA certificate that is not valid for the server domain, 这样由于RSA认证无效造成的,需要对新的ip地址进行RSA证书的配置。参考:http://blog.csdn.net/xyz_fly/article/details/8666006点击打开链接。
3、配置hosts
如果是不想改或是不方便改的话,我们可以在mac电脑上配置hosts。
打开Finder,前往文件夹,输入/private/etc/,找到hosts,复制到桌面,打开添加“ 170.168.1.250 abc-def “,然后替换etc里面的hosts,会需要输入密码。然后就可以将jid设置成 username@abc-def 的jid,就可通过XMPP连接。