2014-02-21 107 views
16

我有一个针对我的组织的github页面,我想从第三方api调用数据,我需要auth令牌。我可以发布此github页面而不在公共回购中显示身份验证令牌吗?为Github页面隐藏api密钥

回答

22

总之,没有。如果你的GitHub仓库是公开的,它的所有资产都是公开的。如果以username.github.io惯例命名,或者它有gh-pages分支,您可以使回购专用,并且它仍将在GitHub页面上发布。虽然这是一个选项,但这不一定是正确的做法。

如果你的钥匙在你的GitHub Pages仓库中,它听起来像是用于JavaScript中的客户端API调用。如果是这样,您的身份验证令牌可公开显示,无论它是在公共回购站还是在您的客户端文件中发送到浏览器。这通常很好。第三方API可能会根据您网站的域名生成身份验证令牌,并将使用该令牌的通话限制为源自您的域名的网页。否则,他们可能只需要身份验证令牌来记录请求并监视使用情况。

如果认证令牌确实是私有的,那么您可能需要编写私有服务器端代码来调用第三方API。然后,您的GitHub Pages网站可以为您的服务提供所需的数据。我必须在Web API出现安全问题之前这样做,但我仍然需要从客户端检索非敏感数据。

+3

这是我需要听到的。谢谢! –