Я внедряю чистую архитектуру в некоторых проектах и дошел до того, что не уверен, какой путь выбрать.
В случае аутентификации с помощью бэкэнд-службы. После использования логина возвращается токен. Мне нужен этот токен для других вызовов usecases-> repo, так как почти все операции выполняются с использованием этого токена.
Мой подход заключается в использовании токена в классе ApiService (этот класс используется для выполнения вызовов http) в качестве зависимости во всем конструкторе repos. Я использую Сервисный локатор, чтобы иметь единый ApiService.
Какие еще идеи вы используете в случае аутентификации с токеном jwt? (передача его каждому сценарию использования dto кажется мне очень плохой идеей)
Аутентификация с использованием Firebase Auth.
В этой ситуации я создал адаптер (в данных) поверх FirebaseAuth, а также использую этот класс в качестве зависимости от всех репозиториев, которым требуется токен Firebase / текущий пользовательский uid в их дальнейших запросах. Каким-то образом аутентификация «скрыта» в данных. (Созданные Viewmodel имеют, например, такие свойства, как bool canUserEditThisData, et c ...)
Любые другие предложения при использовании службы FirebaseAuth и вам понадобится идентификатор uid / token впоследствии?
Спасибо!