void ChatClient::connectToWindowsLive(const QString &accessToken) { QXmppConfiguration config; config.setResource(qApp->applicationName()); config.setWindowsLiveAccessToken(accessToken); config.setDomain("messenger.live.com"); config.setSaslAuthMechanism("X-MESSENGER-OAUTH2"); config.setStreamSecurityMode(QXmppConfiguration::TLSRequired); // NOTE: messenger.live.com uses a certificate with an incorrect name config.setIgnoreSslErrors(true); QXmppClient::connectToServer(config); }
void ChatClient::connectToFacebook(const QString &appId, const QString &accessToken) { QXmppConfiguration config; config.setResource(qApp->applicationName()); config.setFacebookAppId(appId); config.setFacebookAccessToken(accessToken); config.setDomain("chat.facebook.com"); config.setSaslAuthMechanism("X-FACEBOOK-PLATFORM"); config.setStreamSecurityMode(QXmppConfiguration::TLSRequired); config.setIgnoreSslErrors(false); QXmppClient::connectToServer(config); }
void ChatClient::connectToGoogle(const QString &jid, const QString &accessToken) { QXmppConfiguration config; config.setResource(qApp->applicationName()); config.setGoogleAccessToken(accessToken); config.setJid(jid); config.setSaslAuthMechanism("X-OAUTH2"); config.setStreamSecurityMode(QXmppConfiguration::TLSRequired); // don't ignore SSL errors for gmail, but do for other domains (google apps hosted domains) if (config.domain() == "gmail.com" || config.domain() == "googlemail.com") config.setIgnoreSslErrors(false); QXmppClient::connectToServer(config); }
void tst_QXmppServer::testConnect() { QFETCH(QString, username); QFETCH(QString, password); QFETCH(QString, mechanism); QFETCH(bool, connected); const QString testDomain("localhost"); const QHostAddress testHost(QHostAddress::LocalHost); const quint16 testPort = 12345; QXmppLogger logger; //logger.setLoggingType(QXmppLogger::StdoutLogging); // prepare server TestPasswordChecker passwordChecker; passwordChecker.addCredentials("testuser", "testpwd"); QXmppServer server; server.setDomain(testDomain); server.setLogger(&logger); server.setPasswordChecker(&passwordChecker); server.listenForClients(testHost, testPort); // prepare client QXmppClient client; client.setLogger(&logger); QEventLoop loop; connect(&client, SIGNAL(connected()), &loop, SLOT(quit())); connect(&client, SIGNAL(disconnected()), &loop, SLOT(quit())); QXmppConfiguration config; config.setDomain(testDomain); config.setHost(testHost.toString()); config.setPort(testPort); config.setUser(username); config.setPassword(password); config.setSaslAuthMechanism(mechanism); client.connectToServer(config); loop.exec(); QCOMPARE(client.isConnected(), connected); }
void MyXmppClient::connectToXmppServer() { QXmppConfiguration xmppConfig; xmppConfig.setJid( m_myjid ); xmppConfig.setPassword( m_password ); xmppConfig.setKeepAliveInterval( m_keepAlive ); xmppConfig.setAutoAcceptSubscriptions(false); xmppConfig.setSaslAuthMechanism("DIGEST-MD5"); xmppConfig.setUseSASLAuthentication(true); xmppConfig.setStreamSecurityMode(QXmppConfiguration::TLSEnabled); /*******************/ if( m_resource.isEmpty() || m_resource.isNull() ) xmppConfig.setResource( "Lightbulb" ); else xmppConfig.setResource( m_resource ); if( !m_host.isEmpty() ) xmppConfig.setHost( m_host ); if( m_port != 0 ) xmppConfig.setPort( m_port ); xmppClient->connectToServer( xmppConfig ); }