По мере того, как трекеры посылают от животных данные по локациям, каждый пользователь будет накапливать свою собственную MySQL базу данных (по сути таблицу, где каждая строчка содержит номер девайса, дата/время локации, широта/долгота). Допустим каждая таблица будет иметь свой уникальный token (не уверен, что это нужно, но допустим).
В конечном итоге пользователь должен иметь возможность сделать следующее:
1) зарегистрироваться (понятно, что единожды), верифицировав почту
2) залогиниться и после этого
3) в его браузер закачается GUI, прототип которого написан (см ниже, сейчас написано на Spring Boots framework - вроде Java кроссплатформенная технология). GUI будет показывать на странице браузера пользователя окошко Google Map с траекториями животных, а рядом будут некоторые widgets для простейших манипуляций с визуализированными данными (например, выбор фильтрование трекеров по id и данных по дате).
Как я сейчас back-end дизайн себе представляю (очень смутно).
1) Регистрация на сайте, залогинивание, хранение персональных данных в свете комплаенса с GDPR
Прользователь идет на что-то типа https://my-service.com/registration.php
В идеале я хочу аутсорсить аутентификацию пользователя и хранение персональных данных. Идея в том, чтобы не париться об апдейтах и вообще снять с себя ответственность за утечки. Вроде можно это сделать с помощью сторонних authentification services (далее для краткости AU). Я очень смутно представляю себе как это может работать. Вроде пользователю присваивается token, хрянящийся на моем сервере и соответствующий определенной DB (как это делается автоматически и как об этом токене знает сторонний authentification service я пока не знаю). Пользователь по указанному линку регистрации перенаправляется на AU, где заполняет все формы. Возможно я, как администраток системы, и сообщаю пользователю token ДО регистрации просто по мейлу. После заполнения пользователем форм AU посылаем мейл для верификации мейла. Далее второй мейл об успешной регистрации с credentials.
2) Использование GUI после регистрации
Далее пользователь уже идет на my-service.com/login.php. Снова переправляется на AU, который его залогивает и перенаправляет ко мне на сайте с token в payload HTTP запроса. Мой сайт сравнивает token с имеющимися и, если находиться match, загружает в браузер GUI с доступом к данным именно этого пользователя (написан сейчас на Spring Boots). В браузере закачивается Google Maps и виджетами. Из этого GUI пользователь может доставать данные только из его собственной MySQL DB в режиме read-only (показывать все данные или отфильтрофанные по времени и tracker id).
Как обеспечить такой функционал и задизайнить систему? Может кто поделиться опытом. Спросил на stackoverflow тоже, но может и здесь будет какой feedback. Заранее спасибо.