Подключение облака + BankID
1242 PLNБюджет обсуждается, работа только через сейф.
Технологии и язык программирования обсуждается.
Проект
У нас готовая инфраструктура сервиса.
Но городская власть требует наличие КСЗИ (хотя бы для персональных данных пользователей).
Облачное хранилище
Мы рассматриваем несколько вариантов облачного хранилища (Гигаклауд, и т.д.)
Задание
Развернуть VPS, на которой поднять базу данных MariaDB/MySQL и подготовить REST API для доступа к данным на серверах GigaCloud.
Нужна одна таблица users, где будут поля id & data & cityId.
Нужны API для чтения, записи, обновления и удаления данных.
Также нужно поддерживать безопасность доступа к API (добавить api key & secret чтобы только авторизованные пользователи могли получить доступ к данным).
Подключение к BankId НБУ (https://bank.gov.ua/ua/bank-id-nbu)
У нас уже заключен договор и мы на стадии тестирования.
Мобильные приложения и сайт проходят первый этап (авторизация и получение токена).
АПИ должно расшифровывать - данные из BankID.
Задание
используя GigaCloud развернуть сервис VPS на нем.
мы передаем сервису полученный от банка токен
сервис запрашиваем личные данные пользователя у BankId
сервис расшифровывает полученные данных
и записывает их в виде Base64 в базу данных
Примечания
Контакт техподдержки GigaCloud для уточнения вопросов по интеграции (или другого облачного решения): _______
Мы предоставим полную информацию по BankId НБУ, библиотеки и инструкцию использования. ____ (предоставим тестовые ключи)
Во время релиза нужно проинструктировать как обновлять сертификаты и ключи доступа
Безопасность АПИ (вопрос в процессе, просто ключ, JWT или https://stackoverflow.com/questions/42098150/how-to-verify-firebase-id-token-with-phpjwt https://firebase.google.com/docs/auth/admin/verify-id-tokens )
Документация по API
Примечания:
если у вас есть лучший подход к безопасности (а конкретно получение данных из БД) - мы готовы выслушать
вы можете обновить формат API, чтобы минимизировать разработку (ниже описанная документация является больше примером чем финальной версией)
уникальной связкой является cityId + userId (т.к. userId может повторятся для разных городов)
POST {host}/api/getDataFromBankId
Описание:
сайт получает accessToken от банка и отправляет в сервис
документация BankId (https://bank.gov.ua/admin_uploads/article/Specification_BankID_NBU_Portal_v4.pd)
сервис запрашивает данные о клиенте через {host}/v1/bank/resource/client
нужен минимальный набор запрашиваемых данных: 'firstName','middleName','lastName','phone','inn','birthDay','email', 'city' (factual)
расшифровывает данные и полученный json кодируется в base64 и записывает в БД (в идеале напрямую, без использования API)
Headers:
secretKey: someSecretKey
Body:
{
"accessToken": "abc",
"cityId": "someCityID",
"userId": "jgh8A2iQFyenJFInnpZrJpFQPVk2"
}
Response status
200 - данные получены, расшифрованы и записаны в базу
401 - любая ошибка
POST {host}/api/users/update
Описание:
запись (или перезапись если данные уже есть) полученных значений в базу
Headers:
secretKey: someSecretKey
Body:
{
"data": "base64string",
"cityId": "someCityID",
"userId": "jgh8A2iQFyenJFInnpZrJpFQPVk2"
}
Response status
200 - данные записаны в базу
401 - любая ошибка
POST {host}/api/users/get
Описание:
получение данных списка пользователей (по 500 пользователей например, или сколько запросим)
Headers:
secretKey: someSecretKey
Body:
{
"cityId": "someCityID",
"userIds": [
"jgh8A2iQFyenJFInnpZrJpFQPVk2",
"jgh8A2iQFyenJFInnpZrJpFQPVk2",
"jgh8A2iQFyenJFInnpZrJpFQPVk2"
]
}
Response body
{
"data": [
{
"userId": "someUserId",
"data": "base64string"
},
{
"userId": "someUserId",
"data": "base64string"
}
]
}
Response status
200 - данные отправлены
401 - любая ошибка
POST {host}/api/users/delete
Описание:
удаление данных
Headers:
secretKey: someSecretKey
Body:
{
"cityId": "someCityID",
"userId": "jgh8A2iQFyenJFInnpZrJpFQPVk2"
}
Response status
200 - данные успешно удалены
401 - любая ошибка
Załączniki 1
-
КСЗИ не ограничивается использованием bankid и использованием сертифицированной площадки, скорее всего вы в начале пути осознания боли от КСЗИ.
Мы можем реализовать подключение используя кастомный образ php в докере уже с необходимыми модулями.
Контакт: t.me/nosovk
-
Aktualne zlecenia dla freelancerów w kategorii Bazy danych i SQL
Dopracowanie 1C UT 11 dla TSD Zebra (RDP): różne sygnały dźwiękowe podczas skanowania
83 PLN
Konfiguracja: 1C UT 11 Adresowy magazyn Terminal Zebra TC26 Praca przez RDP Skanowanie towarów odbywa się w dokumentach przyjęcia, umiejscowienia, selekcji oraz innych operacjach magazynowych. Aktualny problem: Magazynierzy pracują przez terminal Zebra. Podczas skanowania nie… C#, Bazy danych i SQL ∙ 7 godzin 32 minuty temu ∙ 2 oferty |
Wyleczyć konfigurację 1c
414 PLN
Konfiguracja CRM & ERP SmartCeiling (2.8.26.0) Ochrona przez Kod Rejestracyjny. Zarejestrowana do końca roku. Bazy danych i SQL ∙ 22 godziny 38 minut temu ∙ 7 ofert |
Potrzebny specjalista 1C do poprawek i rozwojuSzukam specjalisty z 1C do współpracy na freelansie. Obecnie już współpracuję z wykonawcą, który zapewnia wsparcie i obsługę systemu 1C. Jednak z powodu obciążenia wykonawcy pojawia się potrzeba szybkiego wykonania dodatkowych zadań, poprawek oraz opracowania nowej… Bazy danych i SQL ∙ 5 dni 21 godzin temu ∙ 11 ofert |
Przywracanie Instagrama po zablokowaniu3 marca 2026 r. zablokowano Instagram z powodu naruszenia zasad. Uważam, że doszło do jakiegoś błędu, ponieważ strona była osobista z zdjęciami i filmami z prywatnych podróży. Nie pisałam komentarzy ani niczego innego. Wysłałam kilka razy odwołanie. Nie mogę pobrać swoich… Bazy danych i SQL, Programowanie stron internetowych ∙ 6 dni 9 godzin temu ∙ 6 ofert |
Usunąć problem niepełnego importu danych z plików Excel specyfikacji Nowej Poczty do 1C:
166 PLN
Cel: Istnieje przetwarzanie w 1C dotyczące ładowania specyfikacji Nowej Poczty. Z nieznanych powodów przestało ładować niektóre dane tabelaryczne. Należy znaleźć przyczynę i usunąć problem niepełnego importu danych z plików Excel specyfikacji Nowej Poczty do 1C: Mały Biznes.… Administracja systemem i siecią, Bazy danych i SQL ∙ 9 dni 16 godzin temu ∙ 16 ofert |