android – 为什么在访问其他应用程序的帐户信息时,“调用者uid xxxxx与验证者的uid不同”?
作者:互联网
我写了一个应用程序A,它使用AccountManager进行登录处理.然后,我写了另一个使用A的AccountManager帐户数据的应用程序B.
但是当我运行B时,我得到“java.lang.SecurityException:caller uid xxxx与authenticator的uid不同”.
使用A的密钥库文件对B进行签名可以解决此问题.
但是,我仍然想知道为什么会发生这种情况以及是否有替代解决方案.
解决方法:
此消息极具误导性.如果您具有与具有帐户身份验证器的应用程序相同的uid或相同签名,则只能访问其他帐户信息.没有其他解决方案.他们会很好地改变信息.
这是一项重要的安全预防措施.如果它没有这个任何应用程序可以阅读任何人的elses用户数据.这可能包含有意义的信息.
来源:阅读代码
标签:android,accountmanager 来源: https://codeday.me/bug/20190630/1334722.html