Как отправить токен доступа с помощью клиента wss .net

Я хочу подключиться к конечной точке гнезда с помощью клиента .net wss. Я не знаю, как передать NEST access_token во время рукопожатия конечной точке, чтобы завершить рукопожатие авторизации.

  • Без него я получаю 401.
  • Если я укажу в качестве параметра запроса "/devices.json?auth=c.Uysdi...", я получаю 307 (перенаправление) на конечную точку firebase, но с https??? (уже не wss).
  • Если я добавлю токен доступа в заголовки, я получаю 401.

В примерах API я могу найти только примеры javascript с использованием клиентской библиотеки firebase, что мало помогает. Может кто-нибудь объяснить, что мне делать, чтобы завершить рукопожатие wss?


person Mitrescu Catalin    schedule 04.12.2014    source источник


Ответы (2)


Я заменил https на wss. это сработало для меня. Возможно, немного кода поможет людям решить вашу проблему

person Roy du Crocq    schedule 05.12.2014

Я узнал, в чем была проблема.

В библиотеке веб-сокетов, которую я использовал, была "ошибка". Значение заголовка «Обновление: веб-сокет», которое передается во время рукопожатия веб-сокета, было передано следующим образом: «Обновление: веб-Sсокет». Некоторые тестовые серверы веб-сокетов нечувствительны к регистру, но не сервер Google Nest. После того, как я изменил это на "websocket", я получил правильный ответ на рукопожатие через веб-сокет и не перенаправил.
Токен доступа добавляется в качестве параметра запроса при подключении с помощью веб-сокетов к конечной точке гнезда.

Как только соединение установлено, я снова не понимаю, как установить подписку на определенные события или данные запроса, но это будет тема для другого вопроса.

person Mitrescu Catalin    schedule 10.12.2014