В последнее время я столкнулся с проблемой, которую я не смог найти решение, я строю приложение для Android, следуя Чистой архитектуре, и все шло хорошо, пока я не подумал о роли аутентификации.
У меня есть такая структура (слои) в моем приложении: [ui] (действия и фрагменты) -> [презентация] (просмотр моделей) -> [домен] (вариант использования) -> данные -> [удаленный, кеш, база данных].
Теперь давайте предположим, что я хочу войти в свое приложение, сначала я пройду через экран входа в систему и введу учетные данные пользователей, после этого я вызову LoginViewModel, а затем LoginUseCaseпередавая электронную почту и пароль.В свою очередь, сценарий использования вызовет хранилище, скажем, аутентификацию, а затем я сделаю запрос к бэкэнду с учетными данными, если все в порядке, тогда я получу обратно токен, который должен каким-то образом сохранить,проблема начинается здесь, я создал перехватчик, который отвечает за получение токена из заголовка, но я должен сохранить его, и для этого мне нужен доступ к общим настройкам, правильно ли иметь доступ к нему внутри моего перехватчика?И в каждом запросе мне приходилось отправлять его на свой сервер, какой подход лучше?
Я также видел этот учебник https://medium.com/@tsaha.cse/advanced-retrofit2-part-2-authorization-handling-ea1431cb86be, но я думаю, что неправильно иметь доступ к базе данных внутри класса вашего приложения, я не прав?
Спасибо всем за чтение этогоЯ изо всех сил пытаюсь найти лучший подход, поэтому любая помощь приветствуется.