将 OAuth2 令牌安全地存储在 KeyStore 中,并 link 到 AccountManager 中的帐户
Store OAuth2 token securely in KeyStore and link to account in AccountManager
我的网站 API 需要身份验证令牌才能访问受保护的资源。我可以请求和接收这些,并使用 api。现在我想存储这个令牌以备后用。
我知道很难甚至不可能安全地存储机密数据,但是 this article suggest to use the KeyStore 存储令牌可能是最好的方法。我在某处读到,股票电子邮件应用程序也使用这种方法,但不幸的是我不记得来源了。
我想将 KeyStore 与 AccountManager 结合使用,这样用户就可以在他们的设备上查看和管理所有注册帐户(令牌)。
这可能吗?如果是这样,我怎样才能做到这一点?我似乎无法找到一种方法来 'attach' 对帐户的密钥库条目的引用。
也欢迎任何建议或替代方案!提前致谢!
因此,如果您 encrypt/decrypt 某个 into/from 密钥库,则您使用的是别名。例如,您的帐户名称。或者您可以在 AccountManager 中存储别名。
您可以决定是否最好使用帐户名作为密钥库中的别名(请记住,您应该提供从设置中创建帐户的能力)。或者您想随机生成别名并将它们作为附加数据 (UserData) 存储在 AccountManager 中。密钥库部分有很好的记录,客户经理没有。我记得这方面的研究花了我一些时间,而且根据应用程序类型的不同,实现略有不同。
我的网站 API 需要身份验证令牌才能访问受保护的资源。我可以请求和接收这些,并使用 api。现在我想存储这个令牌以备后用。
我知道很难甚至不可能安全地存储机密数据,但是 this article suggest to use the KeyStore 存储令牌可能是最好的方法。我在某处读到,股票电子邮件应用程序也使用这种方法,但不幸的是我不记得来源了。
我想将 KeyStore 与 AccountManager 结合使用,这样用户就可以在他们的设备上查看和管理所有注册帐户(令牌)。
这可能吗?如果是这样,我怎样才能做到这一点?我似乎无法找到一种方法来 'attach' 对帐户的密钥库条目的引用。
也欢迎任何建议或替代方案!提前致谢!
因此,如果您 encrypt/decrypt 某个 into/from 密钥库,则您使用的是别名。例如,您的帐户名称。或者您可以在 AccountManager 中存储别名。 您可以决定是否最好使用帐户名作为密钥库中的别名(请记住,您应该提供从设置中创建帐户的能力)。或者您想随机生成别名并将它们作为附加数据 (UserData) 存储在 AccountManager 中。密钥库部分有很好的记录,客户经理没有。我记得这方面的研究花了我一些时间,而且根据应用程序类型的不同,实现略有不同。