Ошибка аутентификации при подключении к серверам облачных подключений облачных сообщений Google
Я новичок в gcm upstream обмен сообщениями. Я пытаюсь подключиться к серверам облачных соединений через xmpp (используя библиотеку C# agsxmpp). Однако я получаю неавторизованное сообщение об ошибке с сервера, и соединение немедленно закрывается, хотя тот же номер проекта / ключ API работает для push-уведомлений http downstream. Любая помощь приветствуется.
Вот код
var username = Configuration.PROJECT_NUMBER + "@" + Configuration.GCM_SERVER;
xmpp = new XmppClientConnection
{
UseSSL = true,
UseStartTLS = false,
Server = Configuration.GCM_SERVER,
ConnectServer = Configuration.GCM_SERVER,
Port = Configuration.GCM_PORT,
Username = username,
Password = Configuration.GCM_API_KEY,
AutoResolveConnectServer = true,
SocketConnectionType = SocketConnectionType.Direct,
AutoAgents = false,
KeepAlive = true,
AutoRoster = false,
AutoPresence = false,
UseCompression = false,
Show = ShowType.chat
};
xmpp.OnReadSocketData += Xmpp_OnReadSocketData;
xmpp.OnWriteSocketData += Xmpp_OnWriteSocketData;
xmpp.OnLogin += Xmpp_OnLogin;
xmpp.OnMessage += Xmpp_OnMessage;
xmpp.OnError += Xmpp_OnError;
xmpp.OnClose += Xmpp_OnClose;
xmpp.OnAuthError += Xmpp_OnAuthError;
xmpp.Open();
}
А вот взаимодействие с ccs (захвачено из событий OnReadSocketData и OnWriteSocketData)
To CCS<<11:59:58 834
<stream:stream to='gcm.googleapis.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' xml:lang='en'>
From CSS>> 11:59:59 037
<stream:stream from="gcm.googleapis.com" id="AF8BBDE576QWEFF3543" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
From CSS>> 11:59:59 101
<stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-OAUTH2</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>PLAIN</mechanism></mechanisms></stream:features>
To CCS<<11:59:59 115
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">ADIwNjAxOTEwOTA2Mlw0MGjkdf4y67fvbjjdgESnhaa2tFX3hIcm56NXhWZndJclpFUmlMbnBqNVFIdkk=</auth>
From CSS>> 11:59:59 312
<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>ism>X-OAUTH2</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>PLAIN</mechanism></mechanisms></stream:features>
From CSS>> 11:59:59 314
</stream:stream>urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>ism>X-OAUTH2</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>PLAIN</mechanism></mechanisms></stream:features>
1 ответ
Я изменил имя пользователя с <Project_Number>@<GCM_Server_Address>
чтобы просто <Project_Number>
и это работает.