Я создаю функциональность SignUp / LogIn / Saving в приложении iOS.
Для SignUp / LogIn я выбираю «Firebase Auth».
Но Firebase Auth может сохранять только основные свойства (например,адрес электронной почты, пароль, URL и т. д.)
Итак, чтобы сохранить другие свойства пользователя, я планирую отдельно использовать дополнительную БД MySQL (создав пользовательскую БД, пользовательскую таблицу, первичный ключ userID и другие столбцы)
Для связи с Firebase Auth и MySQL я обнаружил, что проверка пользователя обязательна.
И для проверки будет использоваться JWT (Json Web Token).
Но, чтобыпроверяйте пользователей с помощью JWT, я думаю, что и Firebase Auth, и MySQL должны заранее иметь общий ключ (такой как ID пользователя, адрес электронной почты и т. д.).
Но я не уверен, является ли это обычным способом(просто и безопасно) или нет.
Я прочитал несколько потоков,
Безопасное хранение пользователей Android Firebase Auth в базе данных MySQL
Можетя создаю приложение для Android, которое использует аутентификацию Firebase, но пользовательскийбаза данных (например, MySQL)
Firebase, как использовать службу аутентификации с узлом.js RESTapi Backend
Но я не смог получить первый шагэтот процесс.
У меня есть вопросы на данный момент.
Вопрос1.Пока что я правильно понял?
Вопрос2.Чтобы проверить пользователя, на шаге SignUp нужно ли заранее сохранять общий ключ в Firebase Auth и MySQL?
Вопрос2-1-1.(Если да) Разве это не было бы проблемой безопасности при наличии идентичных данных в Firebase Auth и MySQL?(Конечно, я не должен сохранять никакие другие личные данные (пароль, номер телефона и т. Д.) В MySQL)
Question2-1-2.(Если да) Что вы думаете о лучших данных для общего ключа?(идентификатор пользователя, адрес электронной почты, автоматически увеличиваемый идентификатор пользователя и т. д.)
Вопрос2-2.(Если нет) Как я могу синхронизировать Firebase и MySQL через iOS?
Вопрос3.Тогда весь этот процесс является правильным?
- Настройка iOS, Firebase Auth, MySQL
- Когда пользователь регистрируется, адрес электронной почты (и, возможно, также идентификатор пользователя) будет отправлен как в Firebase Auth, так и в MySQL.Но пароль будет отправлен только в Firebase.
- Во время входа в систему, если пользователь установит и сохранит настройки, iOS будет публиковать данные в строке 'userID' в таблице 'user' в MySQL.
- Когда пользователь снова войдет в систему, iOS получит токен от Firebase Auth и отправит в MySQL.
- Токен будет использован для проверки пользователя путем сравнения расшифрованного токена и MySQL.общий ключ.
- Если проверено, MySQL отправит другие свойства пользователя в iOS.
- iOS получит данные свойств пользователя.
Это мой первый опыт создания этой функциональности.
Пожалуйста, ответьте на мой вопрос!
Заранее спасибо!