codecamp

GitHub 关于 OAuth App 访问限制

组织可通过启用 OAuth 应用程序 访问限制,选择哪些 OAuth 应用程序 可以访问其仓库及其他资源。

当 OAuth 应用程序 访问限制启用后,组织成员无法授权 OAuth 应用程序 访问组织资源。 组织成员可以申请所有者批准他们想使用的 OAuth 应用程序,并且组织所有者会收到待处理申请的通知。

创建新组织时,默认启用 OAuth 应用程序 访问限制。 组织所有者可随时禁用 OAuth 应用程序 访问限制

提示:当组织尚未设置 OAuth 应用程序 访问限制时,组织成员授权的任何 OAuth 应用程序 也可访问组织的私有资源。

设置 OAuth 应用程序 访问限制

当组织所有者第一次设置 OAuth 应用程序 访问限制时:

  • 组织拥有的应用程序会自动获得对组织资源的访问权限。
  • OAuth 应用程序 会立即失去对组织资源的访问权限。
  • 2014 年 2 月之前创建的 SSH 密钥会立即失去对组织资源(包括用户和部署密钥)的访问权限。
  • OAuth 应用程序 在 2017 年 2 月期间或以后创建的 SSH 密钥会立即失去对组织资源的访问权限。
  • 来自私有组织仓库的挂钩不再发送到未批准的 OAuth 应用程序。
  • 对私有组织资源的 API 访问不适用于未批准的 OAuth 应用程序。 此外,也没有在公共资源资源上执行创建、更新或删除操作的权限。
  • 用户创建的挂钩和 2014 年 5 月之前创建的挂钩不受影响。
  • 组织拥有的仓库的私有复刻需遵守组织的访问限制。

解决 SSH 访问失败

当 2014 年 2 月之前创建的 SSH 密钥因 OAuth 应用程序 访问限制启用而失去对组织的访问权限时,后续 SSH 访问尝试就会失败。 用户将会收到错误消息,将他们导向至可以批准密钥或在其位置上传可信密钥的 URL。

Web 挂钩

当 OAuth 应用程序 在限制启用后被授予对组织的访问权限时,该 OAuth 应用程序 创建的任何原有 web 挂钩会继续分发。

当组织从之前批准的 OAuth 应用程序 删除访问权限时,该应用程序创建的任何原有 web 挂钩不再分发(这些挂钩将被禁用,但不会删除)。

重新启用访问限制

如果组织禁用 OAuth 应用程序 访问应用程序限制,后来又重新启用它们,则之前批准的 OAuth 应用程序 会被自动授予访问组织资源的权限。

延伸阅读

GitHub 将管理团队迁移到改进的组织权限
GitHub 对组织启用 OAuth App 访问限制
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }