Github 的 Drone.io OAuth 问题

Posted

技术标签:

【中文标题】Github 的 Drone.io OAuth 问题【英文标题】:Drone.io OAuth issues with Github 【发布时间】:2017-07-08 08:48:57 【问题描述】:

我目前正在尝试使用我的 Github 帐户设置 Drone.io。我安装了drone.io 并且可以正常工作——我可以访问localhost 上的drone.io 登录页面。当我尝试登录以授权访问 Github 时,问题就开始了,因为 Github 返回错误 404 - “这不是您要查找的页面”,网址如下:

https://github.com/login/oauth/authorize?client_id=%thisIsCorrect&redirect_uri=http%3A%2F%2Flocalhost%2Fauthorize&response_type=code&scope=repo+repo%3Astatus+user%3Aemail+read%3Aorg&state=drone

我尝试使用 localhost 和 localhost/authorize 进行授权回调,但没有任何更改。谁能看到我做错了什么?

我的 Github 设置:

我的 docker-compose 文件:

【问题讨论】:

【参考方案1】:

您的授权回调网址似乎无效。根据官方设置说明,应该是 http://localhost/authorize 而不是 http://localhost

在 GitHub 上注册您的应用程序以创建您的客户端 ID 和密码。授权回调 URL 非常重要,它与您的 http(s) 方案和主机名完全匹配,路径为 /authorize。

参考文档:http://readme.drone.io/admin/setup-github/

此外,环境部分看起来也有问题。不应引用 docker-compose 部分中的环境变量。当以key=value 格式声明时,Docker compose 不会取消引用值。

所以不要像这样引用值:

environment:
  - foo='bar'
  - baz=qux

您应该删除引号:

environment:
  - foo=bar
  - baz=qux

或者,如果您需要引用值,则应该使用映射或 key=value 格式的数组。

environment:
  foo: "bar"
  baz: qux

参考 docker compose 文档:https://docs.docker.com/compose/compose-file/#/environment

【讨论】:

对于迟到的评论非常抱歉,感谢您的帮助 - 这对您有所帮助! :)

以上是关于Github 的 Drone.io OAuth 问题的主要内容,如果未能解决你的问题,请参考以下文章

持续部署平台搭建

[Next] Next.js+Nest.js实现GitHub第三方登录

OAuth2.0 授权码模式

OAuth02.接入github oauth app

为啥 OAuth 流程中的 GitHub 授权按钮显示为灰色?

OAuth2.0从入门到实战(附github地址)