Smack 4.2 saslerror с использованием digest-md5: не авторизовано - PullRequest
0 голосов
/ 05 февраля 2019

Я использую следующий код для разработки приложения для чата Android с smack.Это первый раз, когда я использую эту библиотеку, я следовал инструкциям документации.

private void setConnection(final String user, final String password) {
        new Thread() {
            @Override
            public void run() {
                InetAddress addr = null;
                try {
                    addr = InetAddress.getByName(Constants.OPENFIRE_DOMAIN_NAME);
                } catch (UnknownHostException e) {
                    e.printStackTrace();
                }
                HostnameVerifier verifier = new HostnameVerifier() {
                    @Override
                    public boolean verify(String hostname, SSLSession session) {
                        return false;
                    }
                };
                DomainBareJid serviceName = null;
                try {
                    serviceName = JidCreate.domainBareFrom(Constants.OPENFIRE_DOMAIN_NAME);
                } catch (XmppStringprepException e) {
                    e.printStackTrace();
                }
                XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                        .setUsernameAndPassword(user, password)
                        .setPort(5222)
                        .setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
                        .setXmppDomain(serviceName)
                        .setHostnameVerifier(verifier)
                        .setHostAddress(addr)
                        .setDebuggerEnabled(true)
                        .build();
                mConnection = new XMPPTCPConnection(config);
                try {
                    mConnection.connect();
                    mConnection.login();
                    if (mConnection.isAuthenticated() && mConnection.isConnected()) {
                        Log.e("Chat Activity", "Auth done and connected successfully");
                        ChatManager chatManager = ChatManager.getInstanceFor(mConnection);
                        chatManager.addIncomingListener(new IncomingChatMessageListener() {
                            @Override
                           public void newIncomingMessage(EntityBareJid from, Message message, Chat chat) {
                                Log.e("Chat Activity","New message from " + from + ": " + message.getBody());
                                mMessages.add(new MessagesData("0", message.getBody(), Parse.getTimeStamp()));
                                configureRecyclerView(mMessages);
                            }
                        });
                    }
                } catch (SmackException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (XMPPException e) {
                    e.printStackTrace();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }

Но при ее выполнении мне выдается следующее исключение.

org.jivesoftware.smack.sasl.SASLErrorException: SASLError using SCRAM-SHA-1: not-authorized

Я быхотел бы знать, что моя ошибка в коде может бытьСпасибо за помощь

...