簡體   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