Мы внедрили Backend Server и базу данных с RESTFUL API. У нас есть приложение для Android, которое может попросить сервер отправить определенные данные обратно.
Мы хотим внедрить систему аутентификации в приложении для Android.
Команда предлагает мне использовать Spring и OAuth, но я лично не имею опыта работы с ними, и не совсем уверен в необходимости такого подхода.
Другие друзья предлагают использовать FireBase для аутентификации пользователей.
Могу ли я избежать использования OAuth / FireBase и просто сохранить в базе данных сервера имя учетной записи пользователя и соответствующий пароль с хеш-солью вместе с солью? Каждый запрос, отправленный клиентом, будет содержать имя учетной записи (которое может быть уникальным идентификатором, сгенерированным сервером при первом запросе и сохраненным в виде SharedPreference в телефоне) и пароль в открытом виде. Передача запроса осуществляется по протоколу HTTPS (при этом используется TLS / SSL), пароль в открытом виде не раскрывается.
Каковы возможные недостатки предложенного подхода в последнем абзаце? И если это ошибочный подход, учитывая, что мы уже используем Spring для сервера (Backend), я должен пойти на FireBase или OAuth?
Дополнительный контекст :
Не забывайте, что это самый первый крупномасштабный проект, над которым я работал (он считается 3-кредитным университетским курсом). Мы 3 в проекте. Я изучаю информатику, но не обязательно хорошо разбираюсь во всех системах, которые мы используем или планируем использовать.
Мы создаем приложение, которое позволяет пользователям просматривать на карте оповещения, опубликованные определенными базами данных (в настоящее время мы ориентируемся на метеорологические оповещения) в режиме реального времени. Мы хотим иметь возможность реализовать систему входа в систему, чтобы люди могли получать уведомления, несмотря на то, что приложение закрыто (мы разрешаем пользователям «подписываться» на области на карте, чтобы указывать регионы, для которых они хотят получать уведомления).