如何在移动应用中限制Google Map API密钥?

问题描述 投票:1回答:1

我有一个cordova / ionic移动应用程序,它使用https://maps.googleapis.com/maps/api/js?key=AndroidKeyhttps://maps.googleapis.com/maps/api/js?key=iOSKey将google maps(在index.html主文件中)加载到该应用程序(android和ios)中。每个键都受到“应用程序”限制的锁定,无法使用。我发现只能通过HTTP引荐来源网址或服务器IP来锁定Web服务api。

但是由于地图是直接通过客户端加载的,因此没有域或服务器IP的HTTP引荐来源网址...还有其他方法可以锁定API密钥吗?

我可以使用https://github.com/wymsee/cordova-HTTP之类的东西来创建HTTP引用程序吗?如果可以的话,我可以创建哪种合法的域名引荐来源网址,以解决Google Maps api HTTP引荐来源网址的问题?

更新:有人将其标记为dup,但该帖子是关于Android SDK API,而我的是关于Javascript Map API。

android iphone cordova google-maps-api-3 http-referer
1个回答
0
投票

在使用cordova-plugin-ionic-webview (docs)时,在离子3/4/5中,引荐来源网址为iOS的cordova-plugin-ionic-webview和Android的ionic://localhost。>

  • 第一个解决方案是自定义方案和/或主机名-这听起来像是一个合理的选择,因为这样可以将引荐来源网址设置为http://localhost,而该网站无法轻易将其盗取(另外一个应用程序可以设置相同)。
  • 类似地可以使用电容器https://mobileapp.author.domain.com/(根据此SO答案:"server": {"hostname": "mobileapp.author.domain.com"})] >>
  • quick'n'dirty选项是添加How to protect Google Maps API key on Ionic app?作为网站限制-这是我发现将*://localhost/*引荐来源白名单的唯一方法。这也适用于电容器
© www.soinside.com 2019 - 2024. All rights reserved.