【问题标题】:Can Webhooks be used with a GitHub OAuth App?Webhook 可以与 GitHub OAuth 应用程序一起使用吗?
【发布时间】:2017-12-06 02:08:48
【问题描述】:

所以我一直在阅读 GitHub 开发者文档和关于 webhook 的内容,他们有以下声明:

Webhooks 允许您构建或设置订阅 GitHub.com 上某些事件的 GitHub 应用程序。当其中一个事件被触发时,我们将向 webhook 的配置 URL 发送一个 HTTP POST 有效负载。 Webhook 可用于更新外部问题跟踪器、触发 CI 构建、更新备份镜像,甚至部署到您的生产服务器。你只受到你的想象力的限制。

但是,关于应用程序,他们也有这样的声明:

GitHub 上的应用程序扩展和改进了现有工作流程。人们可以 从 GitHub Marketplace 购买应用程序或浏览有用的工具和 在 Works with GitHub 中与 GitHub 集成的服务。

如果您正在构建或添加集成,本文档将 帮助您启动并运行。

有关 GitHub 的支持请求、错误报告和讨论 应用程序(不是 OAuth 应用程序),使用 GitHub 平台论坛。论坛允许 您可以与其他集成商以及工程师和 来自 GitHub 的产品经理。

如果您的请求是关于 OAuth 应用程序,或者如果您需要讨论 私人问题,请直接联系支持人员。

这似乎 Webhooks 只能与 GitHub 应用程序一起使用? GitHub 应用程序和 GitHub OAuth 应用程序之间的区别不是很清楚,我不明白为什么 OAuth 应用程序不能使用 Webhooks?

【问题讨论】:

    标签: github oauth webhooks


    【解决方案1】:

    编辑

    Webhook 可以与 GitHub OAuth 应用程序一起使用吗?

    是的。

    Webhooks 允许您构建或设置订阅 GitHub.com 上某些事件的 GitHub 应用程序。

    这是一个错误的说法。这应该是“与 GitHub 的集成”而不是“GitHub 应用程序”。

    这似乎 Webhooks 只能与 GitHub 应用程序一起使用?

    没有。 GitHub 应用程序包含对 Webhook 的隐式支持。 OAuth 应用程序请求范围为write:repo_hookadmin:org_hookregister a Webhook on the Repository or Organization 的令牌。

    有一个creating webhooks 的指南建议use the repo hooks or org hooks API endpoints

    GitHub 应用程序和 GitHub OAuth 应用程序之间的区别不是很清楚,我不明白为什么 OAuth 应用程序不能使用 Webhooks?

    有描述some differences between GitHub Apps and OAuth Apps.的文档

    GitHub 应用的 TLDR 优势:


    原创

    Webhooks 允许您的服务器/应用程序在发生特定事件时收到通知 - 无论您使用的是 OAuth 还是 GitHub 应用程序。然后,您的应用程序将需要处理 event 并采取相应措施。

    另外,您的应用程序将需要与 GitHub 的 API 交互以创建、读取、编辑或删除信息。 GitHub 通常需要credentials 才能访问或更新特定信息。对 GitHub 的 API 进行身份验证可以使用多种方法:

    旧版 GitHub 集成和 GitHub 应用程序之间存在其他差异。

    • 较早的集成基于 Oauth2 并使用与用户帐户关联的令牌。集成将代表用户与 GitHub 的 API 交互——这就是为什么一些组织会设置 machine user。 Webhook 也需要显式添加。

    • GitHub 应用程序将代表它自己与 GitHub 的 API 交互。您必须明确授予 GitHub 应用程序对启用 Webhook 和 API 访问权限的组织或存储库的访问权限。

    【讨论】:

    • Webhooks 也需要显式添加。这个问题答案的唯一相关部分,你没有解释如何做到这一点......
    • @MartinDawson 我已编辑帖子以直接回复 OP 中的问题以及相关文档的链接。
    猜你喜欢
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 2023-04-01
    相关资源
    最近更新 更多