3

Я новичок в программировании Firebase и Android, у меня есть некоторые вопросы, связанные с пользовательской аутентификацией Firebase.Запрос на использование Android-приложения FireBase для собственной аутентификации

Я создаю андроидное приложение социального отчета (для нарушенной общественной инфраструктуры), для которого требуется простейшее решение для автоматической аутентификации. Поскольку это приложение социального отчета, в котором пользователям не нужно беспокоиться о регистрации, вводя какие-либо данные. Поэтому я решил использовать Android uuid в качестве идентификатора пользователя вместо имени электронной почты/имени пользователя и т. Д. Я свободно реализую аутентификацию и регистрацию пользователей. Для регистрации или проверки подлинности требуется только устройство Android uuid (даже не нужно пароль). Хотя, я думаю, что я получил данные пользователя в правилах безопасности firebase достаточно хорошо.

Я успешно создал настраиваемый автоматический сервер аутентификации/регистрации с языком Go, который моет и хранит данные из самой Firebase. Это мой текущий рабочий процесс:

  1. Клиент Android автоматически отправляет запрос на мой auth-сервер. Данные запроса содержат Android uuid и несколько других данных. Я собираюсь включить его в onCreate activity. Поэтому каждый раз, когда пользователь открывает приложение, он запрашивает токен.
  2. Мой сервер auth проверяет, хранится ли этот конкретный uuid в моей Firebase. Если это так, то сгенерируйте JWT. Если нет, мой сервер автоматически создаст новую запись данных пользователя в моей Firebase и отправит обратно новый JWT.
  3. Некоторое время сохраняйте JWT в клиентском приложении и используйте это для транзакции данных с помощью firebase.

Мне удалось узнать библиотеку Firebase для Android, это замечательно и очень просто. Я нашел много библиотек запросов HTTP для Android (два из них - модификация и залп). Тем не менее, я до сих пор не знаю, как наилучшим образом отправить запрос auth от клиента Android.

Каков предпочтительный/самый простой способ отправки пользовательского запроса auth в клиентское приложение на основе требований и рабочего процесса, указанных выше? Нужно ли использовать библиотеку запросов HTTP для упрощения кода? образец/фрагмент кода был бы очень полезен. Каков наилучший способ хранения и использования JWT в клиентском приложении? Является ли мой текущий рабочий процесс достаточно хорошим? Оценки высоко ценятся.


В качестве побочного примечания, это мой окончательный проект школы, а не производственное приложение. Поэтому я не возражаю против сложных случаев, например, имеет ли пользователь более одного телефона или приобретает второй телефон, который должен иметь такой же uuid с предыдущим владельцем и т. Д. Кроме того, пожалуйста, пощадите мой странный грамматический/неидиоматический язык, m не носитель английского языка.

+0

Любая библиотека будет работать, как и многие другие. Рекомендация одного из них не относится к теме переполнения Satck, поскольку она приводит к ответам на мнения. Просто выберите тот, который вам нравится, и используйте его. Если вы столкнулись с проблемами, вернитесь с этой проблемой. –

ответ

2

Самый простой способ с Android - использовать signInWithCustomToken() для объекта auth firebase (FirebaseAuth).

Вот ссылка в документации, в том числе код реализации выборки: https://firebase.google.com/docs/auth/android/custom-auth

Удачи с проектом.

Смежные вопросы