0

我已经为私有 GitHub 存储库设置了 Jekyll-Auth。这很复杂,所以我写了一个安装指南,可以在这里找到:http: //fabian-kostadinov.github.io/2014/11/13/installation-of-jekyll-auth/。然而,无论我做什么,我都无法通过登录屏幕。登录托管网站后,我收到的只是 HTTP 403 和保镖的图像。

这是我的设置:

  1. 我的组织是foo-org。有一个团队bar-team和一个私人仓库baz-repo

  2. 我既是foo-org的所有者和成员,也是bar-team 的团队成员。

  3. 我授予bar-team中的所有成员写入权限。(无论如何,组织所有者都有管理员权限。)

  4. 我确保bar-team列在 repo 的合作者列表下。(那里也列出了组织所有者和成员。组织成员具有写入权限。)

  5. 在 Heroku 的仪表板中,有我的 Heroku 应用程序和配置变量。除了其他变量之外,还有一个变量“GITHUB_TEAM_ID”,我将值设置为“@foo-org/bar-team”(没有双引号,但带有前导字符)。

  6. 我已经从 _config.yml 中完全删除了“白名单”条目(也是“ssl”条目)。(当我将所有内容都列入白名单时,我确实可以访问该网站。但是当然它没有受到保护。但这仍然表明一切似乎都设置正确。)

  7. 在每次新尝试之前,我都会故意删除浏览器中的所有 cookie。我还尝试撤销 GitHub 中授予的访问权限,但无济于事。

仍然没有授予访问权限。Heroku 的日志并没有说太多。该应用程序已启动并运行,没有错误。看起来回调在 Heroku 和 GitHub 之间运行良好。但是,我可以看到对受保护网站上任何文件的所有 HTTP GET 都会导致 403 访问被拒绝。

现在我没有想法了。组织/团队 ID 可能有问题吗?任何帮助表示赞赏。

4

1 回答 1

1

好的,我终于能够解决这个问题了。问题是 GITHUB_TEAM_ID 必须是一个 ID 号,即一个整数。不幸的是,您不能简单地查找这个数字。相反,您需要访问 GitHub API 以使用 cURL 进行查找。我写了一篇关于如何实现这一点的文章:http: //fabian-kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/

于 2015-01-17T08:17:15.920 回答