2015-10-07 31 views
1

我的jabber服務器響應3種支持的方法:DigestMD5,SCRAM-SHA-1和Plain。有沒有辦法強制XMPP的認證機制,例如XMPPPlainAuthentication?那麼,在Android中,我們可以將機制列入黑名單並解除阻止我們需要使用的唯一機制。像這樣的機器人代碼:iOS Swift XMPPFramework,如何強制認證機制?

SASLAuthentication.blacklistSASLMechanism("SCRAM-SHA-1"); 
    SASLAuthentication.blacklistSASLMechanism(SASLMechanism.DIGESTMD5); 
    SASLAuthentication.blacklistSASLMechanism(SASLMechanism.EXTERNAL); 
    SASLAuthentication.blacklistSASLMechanism(SASLMechanism.GSSAPI); 
    SASLAuthentication.unBlacklistSASLMechanism(SASLMechanism.PLAIN); 

有什麼想法?

回答

3

當我試圖尋找它時,我試圖在XMPPFramework代碼中找到它們,當它們已經接收到支持的機制列表時,它們如何使用身份驗證。然後它是死的簡單,例如,如果你想使用XMPPPlainAuthentication與密碼,而不是使用此代碼

xmppStream!.authenticatWithPassword(passwordString, error: &error)

嘗試使用這一

let auth = XMPPPlainAuthentication(stream: xmppStream, password: passwordString) xmppStream!.authenticate(auth, error: &error)

這就是我所做的。