如何创建受限的Api密钥以使用路线图api?

时间:2019-06-23 14:43:44

标签: android google-maps google-cloud-firestore api-key map-directions

我正在创建一个仅使用Firestore更新用户位置的用户之间绘制路线的应用程序。

问题是使用方向api我需要使用受限密钥 (服务器IP地址) 我该怎么办 ?我没有服务器,我只使用Firestore

2 个答案:

答案 0 :(得分:2)

由于您的应用程序正在使用Web服务(Directions API),因此我认为您必须执行以下操作来保护API密钥:

  • 对API密钥应用API限制。此操作将API密钥的范围缩小到您与该密钥相关联的API。
  • 混淆或加密API密钥。 此操作使直接从应用程序进行键刮取尝试变得复杂。
  • 使用CA固定或证书固定来验证服务器资源是否有效。 CA固定检查服务器的证书是由受信任的证书颁发机构颁发的,并防止中间人攻击可能导致第三方发现您的API密钥。通过提取并检查服务器证书中包含的公钥,证书固定可以进一步进行。固定功能对于直接与Google服务器进行通信的移动客户端以及与开发人员自己的代理服务器进行通信的移动客户端非常有用。
  • 使用代理服务器。。代理服务器提供了与适当的Google Maps Platform API进行交互的可靠来源。

更多信息可以在我们的公共文档中找到在使用此 Protecting API Keys

的Maps Web服务API的移动应用上

答案 1 :(得分:1)

对于Android应用程序,您可以使用“ Android apps”限制Google Maps API密钥。

基于docs:

  

要限制API密钥:

     
      
  1. 转到Google Cloud Platform Console
  2.   
  3. 从“项目”下拉菜单中,选择包含要保护的API密钥的项目。
  4.   
  5. 从导航菜单中,选择 API和服务>凭据
  6.   
  7. 凭据页面上,单击要保护的API密钥的名称。
  8.   
  9. 限制和重命名API密钥页面上,设置限制:应用程序限制:      
        
    • 选择 Android应用,然后按照说明进行操作。
    •   
    • 点击+ 添加包裹名称和指纹
    •   
    • 输入您的包裹名称和SHA-1证书指纹。例如:com.example.android.mapexample   BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    •   
  10.