iOS Swift XMPPFramework,如何强制认证机制?
iOS Swift XMPPFramework, how to force authentication mechanism?
我的 jabber 服务器使用 3 种支持的方法给出响应:DigestMD5、SCRAM-SHA-1 和 Plain。有什么办法可以强制 XMPP 的身份验证机制,例如 XMPPPlainAuthentication?好吧,在 android 中我们可以将机制列入黑名单并解锁我们需要使用的唯一机制。就像 android 中的这段代码:
SASLAuthentication.blacklistSASLMechanism("SCRAM-SHA-1");
SASLAuthentication.blacklistSASLMechanism(SASLMechanism.DIGESTMD5);
SASLAuthentication.blacklistSASLMechanism(SASLMechanism.EXTERNAL);
SASLAuthentication.blacklistSASLMechanism(SASLMechanism.GSSAPI);
SASLAuthentication.unBlacklistSASLMechanism(SASLMechanism.PLAIN);
有什么想法吗?
当我试图寻找它时,我试图在 XMPPFramework 代码中找到关于他们在已经收到支持机制列表时如何使用身份验证的信息。然后它非常简单,例如,如果你想使用带密码的 XMPPPlainAuthentication,而不是使用此代码
xmppStream!.authenticatWithPassword(passwordString, error: &error)
尝试使用这个
let auth = XMPPPlainAuthentication(stream: xmppStream, password: passwordString)
xmppStream!.authenticate(auth, error: &error)
我就是这么做的。
我的 jabber 服务器使用 3 种支持的方法给出响应:DigestMD5、SCRAM-SHA-1 和 Plain。有什么办法可以强制 XMPP 的身份验证机制,例如 XMPPPlainAuthentication?好吧,在 android 中我们可以将机制列入黑名单并解锁我们需要使用的唯一机制。就像 android 中的这段代码:
SASLAuthentication.blacklistSASLMechanism("SCRAM-SHA-1");
SASLAuthentication.blacklistSASLMechanism(SASLMechanism.DIGESTMD5);
SASLAuthentication.blacklistSASLMechanism(SASLMechanism.EXTERNAL);
SASLAuthentication.blacklistSASLMechanism(SASLMechanism.GSSAPI);
SASLAuthentication.unBlacklistSASLMechanism(SASLMechanism.PLAIN);
有什么想法吗?
当我试图寻找它时,我试图在 XMPPFramework 代码中找到关于他们在已经收到支持机制列表时如何使用身份验证的信息。然后它非常简单,例如,如果你想使用带密码的 XMPPPlainAuthentication,而不是使用此代码
xmppStream!.authenticatWithPassword(passwordString, error: &error)
尝试使用这个
let auth = XMPPPlainAuthentication(stream: xmppStream, password: passwordString)
xmppStream!.authenticate(auth, error: &error)
我就是这么做的。