Android 架构认证和 api 带令牌的层
Android architecture auth and api layer with token
我目前正在为下一个应用程序规划我的架构 (MVVM) 和流程。
我希望用户点击 'log in' 按钮从 api 获取令牌。然后令牌用于授权某些 api 调用。
我想将令牌存储在 AuthService
(单例)class 中,但为此我必须将我的 ApiService
(单例)注入 AuthService
以发出首次登录请求.
然后我需要从 AuthService
注入的 ApiService
中的令牌才能发出授权请求。问题是 ApiService
和 AuthService
相互依赖(我想避免在 AuthService
中创建另一个 Volley 实例只是为了发出一次性获取令牌请求 - 更喜欢发出请求仅使用 ApiService)。
问题是……我应该怎么处理它?解决这个问题的方法是什么?
非常感谢任何提示!
您可以在依赖注入树中有一个共享首选项提供程序,并在其中有一个 stores/retrieve 用户令牌的方法。然后你可以在你的存储库中注入共享首选项,在你的存储库中,你将拥有 ApiService,你可以将令牌从注入的共享首选项实例传递给它。
我目前正在为下一个应用程序规划我的架构 (MVVM) 和流程。
我希望用户点击 'log in' 按钮从 api 获取令牌。然后令牌用于授权某些 api 调用。
我想将令牌存储在 AuthService
(单例)class 中,但为此我必须将我的 ApiService
(单例)注入 AuthService
以发出首次登录请求.
然后我需要从 AuthService
注入的 ApiService
中的令牌才能发出授权请求。问题是 ApiService
和 AuthService
相互依赖(我想避免在 AuthService
中创建另一个 Volley 实例只是为了发出一次性获取令牌请求 - 更喜欢发出请求仅使用 ApiService)。
问题是……我应该怎么处理它?解决这个问题的方法是什么? 非常感谢任何提示!
您可以在依赖注入树中有一个共享首选项提供程序,并在其中有一个 stores/retrieve 用户令牌的方法。然后你可以在你的存储库中注入共享首选项,在你的存储库中,你将拥有 ApiService,你可以将令牌从注入的共享首选项实例传递给它。