编程语言
首页 > 编程语言> > android – 为什么在访问其他应用程序的帐户信息时,“调用者uid xxxxx与验证者的uid不同”?

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