在创建Google密钥时,我们可以应用四个限制:-
现在,如果我们使用他们各自位置的钥匙,一切都会很好。
当我们想从移动(android/ios)访问一些API,使用REST来获取附近的地方以供用户输入时,问题就出现了。现在,在这种情况下,哪些限制是有效的,如何处理呢?
我已经试过了所有的限制,但都行不通。
提前谢谢。
发布于 2020-10-22 16:55:38
您可以限制Android应用程序的键,并通过在https调用的标题中传递android包名和sha-1,在我的应用程序中进行http REST调用:
"X-Android-Package": "your.androidpackage.id"
"X-Android-Cert": "0000000000000000000000000000000000000000"
*请务必移除沙井中的结肠。
您仍然需要将“key”作为url param进行传递和公开,但是如果没有标题中的凭据,它将被阻塞。
发布于 2020-04-30 19:05:24
您希望使用来自移动应用程序的Places服务。通常,Google、API、web服务应该从后端服务器调用,并且它们只支持IP地址限制。
我建议看一看下面关于可以为不同APIs设置的限制的文章
https://developers.google.com/maps/faq#keysystem
如您所见,Places服务只能使用IP地址限制。直接从移动设备发送Places请求没有多大意义,因为每个设备都有自己的IP地址,而且您不知道用户设备的IP地址。因此,为了保护API密钥,唯一可行的解决办法是创建中间后端服务器。
应用程序应该向您的中间服务器发送请求,中间后端服务器应该使用受保护的API密钥将位置API请求发送给Google,该密钥限制在您服务器的IP地址上,并且代理结果应该返回到您的应用程序。
在这个场景中,您需要两个API键。一个用于Google、Android和Android应用程序限制,另一个用于具有IP地址限制的Places服务。
发布于 2020-04-30 14:54:06
在这种情况下,Android/Ios限制会起作用,将您的SHA放在所需的位置,然后在Android.It上使用您的包名,同时启用您从控制台使用的api。
https://stackoverflow.com/questions/61518968
复制相似问题