Google Play商店:由于Intent Redirection漏洞,Android应用程序被拒绝



由于Intent重定向,我们收到了应用程序被拒绝的通知,为了适应这些情况,我们在代码中进行了一些检查,但今天应用程序仍然被拒绝。你能阅读下面关于应用程序要求的详细信息以及为适应错误/警告所做的更改吗。

应用程序简介:我们的应用程序使用TWA(PWA Wrapper(和本机Android代码的组合,其中身份验证主要发生在本机代码中,然后在成功登录时,用户将使用TWA Launcher活动重定向到PWA。为了从TWA返回到本机代码,我们正在使用Intent过滤器。我们浏览了电子邮件中">意向重定向";(此处(,但三者都不完全符合我们的情况,即从TWA Launcher的web URL到同一应用程序中的Native android活动。尽管我们添加了一些额外的检查,如下面从网页到本机代码的片段所示(由Depplink:调用


if (intent.`package` == null || !intent.`package`.equals(packageName)) {
finish()
}else {
//Business logic
// Open new activity from here
}

以下详细信息可从谷歌游戏控制台门户网站获取

发布前报告详细信息

意向重定向
错误亮度_1Security
您的应用程序包含意向重定向漏洞。有关详细信息,请参阅谷歌帮助中心的这篇文章。•androidx.activity.ComponentActivity.startActivityForResult

还有一个地方,我们使用了startActivityForResult,现在已弃用,我们将其替换为新的API(即registerForActivityResult/代码段
旧代码:

val intent = Intent(this, TwaImplicationActivity::class.java)
startActivityForResult(intent, AppConstants.RequestCode.TWA_IMPLICATION)

新变化:

twaActivityStartForResult = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult ->
if(result.resultCode == Activity.RESULT_OK){
if(viewModel.showEnrolment.get()!!){
navigateToEnrolment()
} else {
navigateToLogin()
}
}
}

val intent = Intent(this, TwaImplicationActivity::class.java)
twaActivityStartForResult?.launch(intent)

如果有什么不同的话,我错过了。请告诉我们我错过应用程序安全检查的正确位置?

我认为你的startActivityForResult是问题所在,上次我也遇到了这个问题,所以我的建议是将startActivityForResult更改为startActivity(this,TwaImplicationActivity::class.java(

相关内容

最新更新