Android Deeplink 从安全角度来看是如何工作的?

How does Android Deeplink work from security perspective?

我正要浏览“Android Deeplink”的不同资源。 我有一个关于它的安全性的问题。

据我所知,我可以创建一个意图过滤器,比如说 www.myapp.de/goto。 如果用户单击 link.

,这将使用户进入我的应用程序

我也是 www.myapp.de 的所有者。

如何防止其他开发人员在他的应用程序中使用 deeplink 打开他的应用程序,即使域是我的?

所以在这种情况下,我可以为 www.google.de/open/ 注册一个意图过滤器,这将导致 android 打开我开发的应用程序?

这对我来说毫无意义。我对 deeplinks.

有什么误解

其他开发者可以为您的 URL 创建深度 link,您对此无能为力。

如果多个应用程序可以处理与深度 link 相同的 URL,android OS 将询问用户他们想要打开哪个应用程序。

你可以upgrade a deeplink to an app link。您可以将应用程序的 public 签名上传到您的 URL。这样 android 可以验证一个深 link URL.

的所有者

使用应用程序 links 的应用程序将自动为已验证的 URL 打开一个 URL。因此,即使安装了处理相同 URL.

的其他应用程序,它们也将是首选。

Create a Digital Asset Links json 并像文档中那样将您的包名称和 sha256_cert_fingerprints 放入文件中。

如果您的发布版本和调试版本有不同的包名,那么您需要在 json 中使用相应的包名和 sha_256 指纹来确保调试和发布的功能构建。

如果您启用了 Google Play App Signing,那么您必须将 google 证书的 sha_256 指纹放入您的数字资产 json 中以用于发布版本。您可以在应用程序完整性部分的 google 播放控制台中找到指纹。还有一个为您的应用程序自动创建的数字资产 Links-JSON 文件,您可以直接使用它。