为什么Google API for PHP需要客户端密钥而Javascript版本不需要?

时间:2014-07-27 13:07:37

标签: javascript php oauth-2.0 google-api oauth2client

我发现令人困惑的是,当我第一次在php环境中尝试google api时,它要求我使用“客户端秘密”密钥,这是我通过api控制台获得的。 在Javascript api示例中没有这样的密钥需要,我理解如果它会在那里,代码将不再是秘密。

有没有理由为什么谷歌仍然需要PHP代码中的密钥? JS和PHP api之间是否存在差异,是否有些东西只能在PHP中完成?

1 个答案:

答案 0 :(得分:1)

OAuth2规范区分客户端类型并为其提供不同的工作流程。

通常规范建议完整的授权代码授权"场景。由于您的PHP应用程序在远离最终用户的Web服务器上运行,因此PHP应用程序可以保护其客户端的秘密。

相反,嵌入式客户端(如手机上运行的应用程序或浏览器中的javascript)无法保护客户端密码,因为它们的环境可以从外部轻松访问。因此规范具有完全不同的隐含授权"不需要使用客户机密的场景。