首页 > 解决方案 > Android 库模块中的身份验证

问题描述

我编写了一个可供其他应用程序使用的 Android 库模块。这个库包含一个对 REST API 进行请求的后台服务。(服务将监听 FCM 消息并在收到消息时发出请求)此请求需要经过身份验证。在库中,我不想实现任何登录逻辑。使用我的库的应用程序应按需提供凭据或存储它。

我的第一个想法是让应用程序实现一个OkHttp 拦截器,以使用凭据丰富请求,并在初始化时将其传递给我的库。该库将不知道身份验证方法。但我猜这个拦截器实例不会在使用它的后台服务的生命周期中存活下来。

第二个想法是使用AccountManager访问凭据。该应用程序提供了在初始化时应用于我的库的帐户信息。该库将请求 AccountManager 并将身份验证信息添加到请求中。由于身份验证令牌可能会过期,因此我的图书馆服务和应用程序之间的“来回通信”将是必要的。这似乎有点费力。

什么是在 Android 库中实现的后台服务中验证请求的好解决方案(因此应该与使用该库的应用程序分离)?

先感谢您。

标签: androidandroid-libraryaccountmanager

解决方案


推荐阅读