Google Play store:Android应用程序因意图重定向漏洞而被拒绝

Google Play store:Android应用程序因意图重定向漏洞而被拒绝,android,android-intent,google-play,android-security,Android,Android Intent,Google Play,Android Security,我们收到了由于意图重定向而拒绝应用程序的通知,为了适应这些情况,我们在代码中应用了一些检查,但今天仍然拒绝了应用程序。请阅读下面关于应用程序要求的详细信息,以及为适应错误/警告所做的更改 应用程序简介: 我们的应用程序使用TWA(PWA包装器)和本机Android代码的组合,其中身份验证内容主要发生在本机代码中,然后在成功登录时,用户将使用TWA启动器活动重定向到PWA。为了从TWA返回本机代码,我们正在使用意图过滤器。 我们在“意图重定向””()下浏览了电子邮件中提供的选项,但这三个选项都不适

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

应用程序简介: 我们的应用程序使用TWA(PWA包装器)和本机Android代码的组合,其中身份验证内容主要发生在本机代码中,然后在成功登录时,用户将使用TWA启动器活动重定向到PWA。为了从TWA返回本机代码,我们正在使用意图过滤器。 我们在“意图重定向””()下浏览了电子邮件中提供的选项,但这三个选项都不适合我们的情况,即从TWA启动器web URL到同一应用程序中的本机android活动。尽管我们添加了一些额外的检查,如下面从网页到本机代码的代码片段所示(这是Depplink调用的:


if (intent.`package` == null || !intent.`package`.equals(packageName)) {
    finish()
}else {
    //Business logic
    // Open new activity from here
}
下面是从Google play控制台门户获取的详细信息。

发布前报告详细信息

意图重定向
错误亮度\u 1安全性
您的应用包含意图重定向漏洞。 •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(这是TwaImplicationActivity::class.java)

您是否正在从AndroidManifest导出任何内容?是的,阿披舍克,您的其中一个活动具有deeplink,但如果我们使用export=false,那么deeplink在我们的情况下将不起作用。