如何处理Google API SHA-1证书身份验证以允许多个用户?

时间:2015-04-15 15:45:19

标签: android google-maps google-api certificate sha1

对于我们的高级项目,我和我的四个同学一起组建了一个使用谷歌地图的Android应用程序。

到目前为止一切都很顺利,但我们遇到了一个问题,我们不确定如何解决这个问题。

使用Maps API时,您需要注册分配给我们正在创建的程序的API密钥。为了在Google Developer Console上验证API密钥,它必须与SHA-1认证相关联,该认证似乎由我们的JDK生成。看来,即使我们五个人都在同一个项目上工作,我们都有不同的SHA-1认证。

  1. 我们所有人都可以为我们的项目使用单一的SHA-1认证,即使我们使用的是不同的计算机和手机,因此我们无需经历发现每个认证的过程。我们的个人认证和注册?

  2. 一旦我们准备发布应用程序(或者至少与我们的其他同学共享以进行测试),我们如何解决此认证问题?显然,我不能花时间单独注册我的40个同学的证书,一旦我们向公众发布,就没有办法这样做。怎么绕过这个?

  3. 我在Google API文档页面上搜索了这一点,并且有很多关于API密钥的信息,但很少有关于SHA-1认证的信息,这是认证的一个同样重要的方面。

    我也在这个网站上搜索并发现了类似的问题,但其中大多数似乎都涉及用户凭据(IE登录名和密码)。目前,我们使用的唯一凭据是Facebook登录(通过FB API),所以我不认为这是相关的(虽然我可能是错的)。

    非常感谢您的时间和智慧。

1 个答案:

答案 0 :(得分:0)

这是因为SHA-1指纹是由用于签署构建的密钥库生成的。位于android主目录中的默认调试密钥库在每台计算机上都是不同的。您可以添加正在使用的所有调试密钥库中的指纹,也可以共享相同的密钥库文件。

通过将其存储在项目文件夹中,然后使用带有signedConfig的gradle构建文件引用它,可以轻松地共享同一个密钥库。见example

另一个简单的解决方案是在Google Cloud控制台中为您设置的Google Maps API项目添加每个人的SHA-1指纹。