AccountManager
相关的Security tips章节提及:
如果凭据仅由您创建的应用程序使用,则可以 验证使用访问AccountManager的应用程序 checkSignature()。
我应该在代码中检查签名?我已经尝试使用Binder.getCallingUid(
)在我自己的AbstractAccountAuthenticator
实现中获取调用进程的UID,但是当系统进程执行IPC时它返回1000。我需要获取试图访问我的应用创建的帐户的其他应用的UID /包名称,因为我想在返回身份验证令牌之前执行checkSignature
检查。
答案 0 :(得分:3)
原来这很简单。真实调用者的包名,uid和pid包含在作为参数传递的const paymentInfo: PaymentInformation = {
"str": {
"str2": "value",
"other": "val"
},
"another": {
"so on": "etc"
}
};
中。此代码应驻留在Bundle
。
AbstractAccountAuthenticator