如何在Google身份验证中使用api密钥来处理公开请求?

时间:2017-09-14 18:42:53

标签: php asp.net google-oauth

当我创建一个api密钥时,有一个这样的选项:

1

要使此密钥变为私密,我已输入localhost:44397

但问题是:使用密钥的请求不会以localhost:44397开头。

看起来像:

  

https://www.googleapis.com/plus/v1/people/ {的用户id }字段=图像&安培;键= {的 API_KEY }

所以,我无法使用密钥来处理此请求。

另一种选择:如果我为None选择Key restriction,则表示密钥是公开的。那不是我的目标。

我的问题:如何将此密钥用作私钥?

谢谢!

1 个答案:

答案 0 :(得分:1)

可选"接受来自这些HTTP引用的请求"是一个"白名单" Google API将接受来自的HTTP引用。因此,如果您希望只有您的网站能够使用您的API密钥发出请求,那么您将在那里添加您的网站,如图所示*.mysite.com/*意味着Google会接受来自mysite.com域或子域的任何请求。

作为您对Google API的请求的一部分,您需要包含的API密钥被视为公开。人们会在作为图像源的URL中看到它(我在这里假设你如何使用它)。

因此,您希望限制公钥的使用方式,并说它只能与源自特定域的请求一起使用。

但是,引用者不能被欺骗吗?这里有一个非常好的Q / A主题:How does Google Maps secure their API Key? How to make something similar?