繁体   English   中英

具有多种身份验证令牌类型的Android AccountManager

[英]Android AccountManager with multiple auth token types

我已经按照syncadapter示例创建了AccountManager和同步适配器。 我想在同一帐户下使用两种不同类型的身份验证令牌,以用于不同目的(访问不同服务-同步适配器使用其中之一)。

一切正常,但我发现当我通过一种身份验证类型对(通过getauthtoken进行身份验证)时,保存它的过程将替换另一种身份验证类型。 我前后查看过accounts.db文件。 在调用以获取身份验证类型“ B”的令牌之前,accounts.db中的身份验证表具有身份验证类型“ A”的身份验证令牌。 调用之后,accounts.db中的authtoken表具有类型为“ B”的authtoken,但“ A”已被删除。 无论顺序如何,对于我的帐户类型,accountmanager子系统似乎永远不会为每个帐户存储一个以上的身份验证令牌。

当您具有多个身份验证类型时,是否需要在某处的某个xml文件中进行配置的特殊内容?

我发现了问题。 如果成功进行身份验证/登录后调用AccountManager.setPassword(),它将使您帐户的所有身份验证令牌无效。 这是未记录的副作用,在某些情况下,这是有道理的。 随意将密码设置为相同值的软件将意外使它们的身份验证令牌无效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM