我有一个cordova / ionic移动应用程序,它使用https://maps.googleapis.com/maps/api/js?key=AndroidKey
和https://maps.googleapis.com/maps/api/js?key=iOSKey
将google maps(在index.html主文件中)加载到该应用程序(android和ios)中。每个键都受到“应用程序”限制的锁定,无法使用。我发现只能通过HTTP引荐来源网址或服务器IP锁定网络服务api。
但是由于地图是直接通过客户端加载的,因此没有域或服务器IP的HTTP引荐来源网址...还有其他方法可以锁定API密钥吗?
我可以使用类似https://github.com/wymsee/cordova-HTTP
的东西来创建HTTP引用程序吗?如果可以的话,我可以创建哪种合法的域名引荐来源网址,以解决Google Maps api HTTP引荐来源网址的限制?
答案 0 :(得分:1)
当使用cordova-plugin-ionic-webview
(docs)时在离子3/4/5中,引荐来源网址为iOS的ionic://localhost
和Android的http://localhost
。
https://mobileapp.author.domain.com/
之类的东西,而该网站不容易被网站窃取(另一个应用程序可以可能设置相同)。"server": {"hostname": "mobileapp.author.domain.com"}
(按照此SO答案:How to protect Google Maps API key on Ionic app?)*://localhost/*
作为网站限制-这是我发现将ionic://localhost/
引荐来源网址列入白名单的唯一方法。这也适用于使用capacitor://localhost/