Github 团队账号 第三方App权限的坑

好吧,先承认一下,这个坑你遇到的机会并不是很大,除非你恰好满足了以下几个条件:

  1. 你用了SourceTree或者Tower,并且,使用OAuth进行认证的。
  2. 你想Push到一个Team Repo。
  3. 那个Team Repo没有做过任何第三方授权权限的改变。

那么,你会遇到,即便你应该是有权限的,在Push的时候会显示没有权限,比如说,我这样的情况

Pushing to https://github.com/SwiftOldDriver/iOS-Weekly.git
remote: Permission to SwiftOldDriver/iOS-Weekly.git denied to olddonkey.
fatal: unable to access 'https://github.com/SwiftOldDriver/iOS-Weekly.git/': The requested URL returned error: 403
复制代码

但是,这个时候你用命令行去Push又是可以成功的。 于是,就陷入了无尽的循环去查SourceTree哪里的设置错了。

然鹅...

这并不是你SourceTree的设置问题。

问题出在了你的账号是用OAuth授权的,而OAuth授权的Github账户会受到团队账号中Access Control的限制。

解决方法:

  1. 在你的OAuth App里的对SourceTree进行授权:

    1. 打开 https://github.com/settings/applications
    2. 找到SourceTree进行授权
  2. 使用链接:https://help.github.com/articles/disabling-oauth-app-access-restrictions-for-your-organization/ 对Team account的access control进行更改,允许SourceTree

两个选一个做就可以了。

希望你没有和我一样掉到这个坑里去。

转载于:https://juejin.im/post/5b4938dff265da0fa21a7350

你可能感兴趣的:(Github 团队账号 第三方App权限的坑)