Skip to content

thinking-home/subway

Repository files navigation

subway

Документация:

Как запустить

# hub
dotnet run --project=ThinkingHome.Subway.Hub

# client
dotnet run --project=ThinkingHome.Subway.TestConsole

Терминология

  • hub — приложение, к которому есть доступ из внешней сети, проксирующее запросы на локальный сервер через signalr
  • локальный сервер
  • клиент

Схемы работы

  1. Клиент отправляет запрос на hub. Hub сразу отвечает клиенту OK. После этого hub пытается передать запрос на локальный сервер с подтверждением доставки.
  2. Клиент отправляет запрос на hub. Hub передает запрос на локальный сервер и ждет ответ (с таймаутом). Полученный ответ возвращает клиенту.
    • Авторизация локального сервера через jwt (hub пишет токент в лог при старте).
    • Авторизация клиентов по id устройства

todo

  • авторизация клиентов

  • [авторизация локального сервера]

  • предоставлять схему локального сервера

  • причесать нейминг и файловую структуру

  • расставить sealed в классах-наследниках

notes

Как завести проект

Нужно создать навык с типом "Умный дом" на платформе Яндекс Диалоги (документация).

В настройках нужно указать адреса:

  • Endpoint URL: https://<domain>/service
  • URL авторизации: https://<domain>/oauth/authorize
  • URL для получения токена: https://<domain>/oauth/token

Сервер должен быть доступен снаружи и работать по https. Работает отладка через https://ngrok.com

hosting

получить сертификат: sudo certbot certonly --standalone сконвертировать сертификат: sudo openssl pkcs12 -in /etc/letsencrypt/live/alice.thinking-home.ru/cert.pem -inkey /etc/letsencrypt/live/alice.thinkin.ru/privkey.pem -export -out merged.pfx

запустить на сервере: sudo dotnet run --project=ThinkingHome.Subway.Hub --urls=https://+:443

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages