Jekyll-Auth 的授权问题

Authorization problems with Jekyll-Auth

我已经为私有 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”(没有双引号,但带有前导 at 字符)。

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

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

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

现在我没主意了。 org/team id 有问题吗?感谢任何帮助。

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