API реєстрації пристроїв на сервері на Python
Python 3.13.x
API підключення пристрою до сервера
Path | Method | Auth header / body field(s) | Success → HTTP / JSON | Notes |
|---|---|---|---|---|
/device/register | POST | bootstrap_token, serial, pubkey | 201 {access_jwt, refresh_jwt} | токен використовується один раз (одноразовий) |
/device/allocate | GET | Authorization: Bearer <access_jwt> | 200 {server_ip, port} | використовується при кожному перепідключенні |
/device/renew | POST | Authorization: Bearer <refresh_jwt> | 200 {access_jwt, refresh_jwt} | оновлення за 1 годину до закінчення |
/device/reauth | GET → POST | GET повертає {nonce}; POST містить serial, signature | 201 {access_jwt, refresh_jwt} | запасний варіант RSA |
/device/announce | POST | Authorization: Bearer <access_jwt> + {tunnel_port} | 204 | сигнал пристрою після відкриття тунелю rSSH |
Bundle /bundle?format=zip | GET | Authorization: Bearer <admin‑JWT> | 200 ZIP | з боку оператора |
Схема:
┌────────────┐ завантаження пакету ┌──────────────┐
│ Operator │ ─────────────────────────────▶│ RG Console │
└────────────┘ └──────────────┘
│ ▲
│ копіювати ZIP / .ini файли │
▼ │
┌────────────┐ 1. /device/register (bootstrap) │
│ Device │──────────────────────────────────────┤
└────────────┘ ◀── доступ & refresh JWTs ────────▶│ Cluster
│ 2. /device/allocate (JWT) │ Server
│───────────────────────────────────────────▶│ Pool
│◀────────── {ip,port} ──────────────────────┘
reverse‑SSH tunnel
│
(24 h пізніше)
│ 3. /device/renew (refresh‑JWT)
│────────────────────────────────────────────▶
│◀────────── нові JWTs ───────────────────────
(токени застарілі, збої > 60 днів)
│ 4. /device/reauth (RSA)
│────────────────────────────────────────────▶
│◀────────── нові JWTs ───────────────────────
Для цього проекту є готові SQL схеми (Postgres).
Додаткові деталі у приватних повідомленнях.
Додатки 1
Відгук замовника про співпрацю з Revaz G.
API реєстрації пристроїв на сервері на PythonПроєкт виконано в строк, результатом задоволений, рекомендую
Відгук фрилансера про співпрацю з Alex Plekhanov
API реєстрації пристроїв на сервері на PythonАлекс — чудовий клієнт, дуже рекомендую, він детально описав завдання, був дуже комунікабельним під час процесу розробки.
-
Переможець5 днів8983 UAHПереможець5 днів8983 UAH
Здравствуйте, Алекс.
Дякую за надання такого детального та професійно складеного ТЗ. Це свідчить про високий технічний рівень проекту, і я готовий його реалізувати. Мене звати Реваз Гогуадзе, моє портфоліо: www.revazgoguadze.com.
Я сертифікований PCAP™ Python розробник з великим досвідом створення безпечних RESTful API. Я повністю розумію запропоновану вами архітектуру, включаючи всю ланцюжок аутентифікації: від реєстрації з bootstrap_token до управління JWT (access/refresh) і резервного механізму reauth з RSA підписом.
Особливість: Я реалізую всі вказані ендпоінти, використовуючи сучасний і швидкий фреймворк, такий як FastAPI. Особливу увагу я приділю безпечній обробці токенів, їх валідації та логіці оновлення, у точній відповідності з вашою схемою.
Перевага: Ви отримаєте не просто працюючий API, а чистий, ефективний і безпечний код, який легко підтримувати. FastAPI забезпечить високу продуктивність і автоматичну генерацію документації (Swagger), що спростить подальшу інтеграцію.
…
Ваша вигода: В результаті ви отримаєте надійне і безпечне ядро для вашої системи управління пристроями. Це фундамент, якому можна довіряти, що позбавить вас потенційних уразливостей і проблем з аутентифікацією у майбутньому.
Я готовий виконати цю роботу якісно і в строк.
З повагою,
Реваз Гогуадзе
-
3 дні8983 UAH
593 15 0 3 дні8983 UAHПривіт, Алекс.
Я готовий взятися за проект і зробити щось подібне, я вже робив це на golang, тому створення логіки на Python займе не більше одного дня плюс правки.
Єдине, що здалося мені дивним — це окремий кінцевий пункт /device/renew, зазвичай згідно з RFC-специфікацією має бути 1 кінцевий пункт для отримання токена. І у мене є досвід у реалізації такої авторизації і я постійно використовую її у роботі в інтеграціях, тому зробив це без проблем і відповім на всі питання.
P.S. Ми не повністю розуміємо специфікації, чи реалізовуємо лише серверну частину, чи нам потрібен також клієнт?
-
7 днів22 456 UAH
95878 1272 1 10 7 днів22 456 UAHПривіт.Роблю з Python.На чому реалізувати бекенд?FastAPI чи Flask?
-
20 днів8983 UAH
8788 60 0 1 20 днів8983 UAHПривіт,
Ми компанія SolidWay, і готові допомогти з вашим проектом, що стосується API реєстрації пристроїв на сервері з використанням Python. Наша команда має великий досвід у створенні API та роботі з різними методами автентифікації, включаючи JWT. Ми можемо забезпечити ефективне оброблення підключень пристроїв, одночасно підтримуючи безпеку та продуктивність.
Ми розуміємо важливість добре структурованого API для управління пристроями і можемо ефективно використовувати надані SQL-схеми. Наш попередній досвід дозволив нам здобути навички для успішного вирішення подібних завдань.
Ми визначимо терміни та бюджет після обговорення деталей завдання. Чекаємо на співпрацю та втілення вашого проекту в життя!
-
4 дні11 228 UAH
1993 12 0 4 дні11 228 UAHДоброго дня
Маю великий досвід розробки серверів на Python + Flask
Напишіть мені
Актуальні фриланс-проєкти в категорії Python
Power BI
700 UAH
Дашборд працює на гугл сервері, потрібно перенести всю логіку+код Які потрібні скіли: розгортання etl процесів на linux сервері + робота із BigQuery та Postgre Є робочий код, який працює на google, де є сама БД, потрібно перенести на інший сервер, можливо переписати код. Python, Бази даних та SQL ∙ 16 годин 16 хвилин тому ∙ 13 ставок |
Telegram bot для найму/пошуку працівників. Для пошуку роботи
1100 UAH
1. Загальна концепція Створення Telegram-бота для автоматизації підбору персоналу та двостороннього пошуку роботи. Система працює за принципом активного відгуку та взаємного підтвердження інтересу (Double Opt-In). У системі передбачено дві ролі: Роботодавець (Власник фірми) та… Python, Розробка ботів ∙ 2 дні тому ∙ 90 ставок |
Технічна підтримка веб-платформи (Python/Django)Є працюючий веб-проект, потрібно підтримувати і поступово приводити в порядок, без переписування з нуля. Стек проекту: Backend: Python, Django, Django Rest Framework Frontend: Next.js База даних: PostgreSQL Інфраструктура: AWS (EC2), Nginx Є інтеграції з зовнішніми API… Python, Веб-програмування ∙ 2 дні 2 години тому ∙ 72 ставки |
Створення додаткуБажаю створити мобільний додаток для спілкування, в застосунку має бути аудіо,відео дзвінок, створення групових чатів,можливість синхронізувати з контактами телефону, налаштуваннями акаунта: привязка по мейлу, 2фа, номеру телефону,можливість налаштовувати сповіщення… Java, Python ∙ 4 дні 1 година тому ∙ 39 ставок |
Налаштування двосторонньої інтеграції WhatsApp з Odoo CRMВітаю! Шукаємо спеціаліста для реалізації технічного завдання з налаштування двосторонньої інтеграції месенджера WhatsApp з CRM-системою Odoo. ⚠️ Важливе технічне уточнення:Офіційний WhatsApp Business API (WABA) не розглядається. Необхідно впровадити стабільне «сіре» рішення… Python, Веб-програмування ∙ 4 дні 11 годин тому ∙ 26 ставок |