带有令牌的Android体系结构身份验证和api层

时间:2020-05-21 22:35:30

标签: android mvvm architecture authorization token

我目前在为下一个应用程序计划架构(MVVM)和流程。

我希望用户点击“登录”按钮以从api获取令牌。然后使用令牌来授权一些api调用。 我想将令牌存储在AuthService(单例)类中,但是要做到这一点,我必须将ApiService(单例)注入AuthService才能发出第一个登录请求。 然后,我需要从ApiService注入的AuthService中返回令牌,以便能够进行授权请求。问题是ApiServiceAuthService彼此依赖(我想避免在AuthService中创建另一个Volley实例只是为了一次性获得令牌请求-宁愿发出请求仅使用ApiService)。

问题是...我应该如何处理?解决这种问题的方法是什么? 任何提示非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以在依赖项注入树中拥有一个共享的首选项提供程序,并在其中有一个存储/检索用户令牌的方法。然后,您可以将共享首选项注入到您的存储库中,然后在您的存储库中,您将拥有ApiService,您可以将其从已注入的共享首选项实例传递令牌。