我正在尝试使用Android帐户管理器创建我应用自己的帐户,因此我研究了SDK中提供的示例。 但是,我在理解如何管理服务器上的身份验证令牌方面遇到了一些问题。
根据我的理解,在学习示例和阅读一些教程时,用户必须在首次登录时提供他的登录名和密码。然后,客户经理会向我的服务器询问与用户凭据相关联的令牌。此令牌将作为密码存储在Android设备的帐户中(因此真正的密码永远不会存储在设备上)。
因为令牌会定期到期,所以我知道我的服务器必须能够使用登录和过期令牌生成新令牌。那是对的吗?如何从旧的令牌中生成新令牌?
此外,令牌的结构应该是什么?我该如何生成它?过期时间是存储在令牌本身还是存储在我的服务器上?
编辑:如果某人有一个简单的工作示例向我展示,那对我非常有帮助。
另外,如果您有其他信息而不是下面的答案,请发布,因为Amokrane Chentir的答案对我没有帮助。
确实,调用AccountManager#getAuthToken()会导致调用方法getAuthToken()
我必须在AbstractAccountAuthenticator的子类中实现。
EDIT2:5个月之后,我仍然对这个问题的解决方案感兴趣:)
答案 0 :(得分:0)
您可以调用方法AccountManager#invalidateAuthToken来请求新的身份验证令牌。此外,您不需要自己生成验证令牌,您必须使用AccountManager#getAuthToken。