Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an explanation why OpenCollective needs write access to GitHub repositories #1034

Closed
devurandom opened this issue Apr 29, 2018 · 16 comments
Labels
api Issues that require some work on the API (https://github.com/opencollective/opencollective-api) backlog For tasks that aren't a priority to execute or there isn't enough data to fully solve. complexity → medium enhancement

Comments

@devurandom
Copy link

When I try to connect my OpenCollective account with my GitHub account, GitHub informs me that OpenCollective requests write access to all my public GitHub repositories. This appears to be a bit much. Could you please explain why this is necessary? And possibly add this explanation to the OpenCollective "Connected Accounts" settings page next to the "Connect GitHub" button?

@piamancini
Copy link
Contributor

hi @devurandom you can see this ticket for the history if this issue : #355

@piamancini
Copy link
Contributor

I'm leaving this ticket open because pointing to #335 or at least an explanation from the auth page is a good idea.

@laf0rge
Copy link

laf0rge commented May 24, 2018

I would actually argue it shouldn't be "explained" but it should simply never ask for write permissions to git repositories. I consider tihs very dangerous and would certainly never authorize any third-party entity/organization to write to my repositories. Even more so if there's one entity that's collecting write access to repositories of a large number of users and organizations. It's a single point of failure, securiy-wise.

@piamancini
Copy link
Contributor

we don't need write permissions just read. see this issue: #355

@stale
Copy link

stale bot commented Sep 17, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix label Sep 17, 2018
@devurandom
Copy link
Author

Someone would need to check whether anything changed since May and update this ticket accordingly.

@znarf
Copy link
Member

znarf commented Sep 18, 2018

@devurandom removed the stale flag

We effectively need to review the permissions and either:

a) we need the extended permissions and we explain why. (on backyourstack for example, we had no choice, https://github.com/opencollective/backyourstack/blob/master/FAQ.md)
b) we don't need the extended permissions and modify our GitHub API configuration to ask less

@znarf znarf added backlog For tasks that aren't a priority to execute or there isn't enough data to fully solve. enhancement complexity → medium and removed stale labels Sep 18, 2018
@stale
Copy link

stale bot commented Nov 17, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Nov 17, 2018
@stale stale bot closed this as completed Nov 27, 2018
@hrj
Copy link

hrj commented Jan 29, 2019

This is a important issue for any organisation that deals with security critical projects. For example, this issue is stalling adoption in this particular project.

PS: Either the stale bot needs to chill down or you need to fix issues faster 😜

@znarf znarf reopened this Jan 29, 2019
@znarf
Copy link
Member

znarf commented Jan 29, 2019

@hrj Reopened! We and many others have a conversation with GitHub on that topic. The problem is that their permissions system is unflexible.

In the end, if it's just to apply on Open Collective, they can just contact support and we will help them without using the GitHub flow.

@tgr
Copy link

tgr commented Apr 28, 2019

You could just use separate OAuth consumers for user identification and for repo identification. The help text for the connect button says "Connect a GitHub account to verify your identity and add it to your profile" if that is truly what you need the access for, (no scope) should work fine.

@znarf znarf added the api Issues that require some work on the API (https://github.com/opencollective/opencollective-api) label Jul 1, 2019
@Relequestual
Copy link

Another facet of this issue is, the project I want to sign up with isn't specifically security concious, but one of the other orgs IS, and it looks like permissions are granted to all that allow third party applications, regardless if needed or not.

@Relequestual
Copy link

In the end, if it's just to apply on Open Collective, they can just contact support and we will help them without using the GitHub flow.
@znarf

How should I go about doing this?

@znarf
Copy link
Member

znarf commented Jul 17, 2019

Usually, it's up to the user to allow/disallow the app to access organizations. It's in the GitHub connection screen.

Feel free to contact support https://opencollective.com/support

@pombredanne
Copy link

Usually, it's up to the user to allow/disallow the app to access organizations. It's in the GitHub connection screen.

That not entirely correct. It depends on the rights that a user has on a given org. I have many admin rights on many orgs, and the latest process requests read access to my orgs private boards. I cannot do this especially when this is about not only private but also third-party data.

See also #355 (comment)

As a result I cannot apply directly through the UI to the OSC. Not that all my public data are public and readable so I am not sure why OC would need any special rights to access my data... they are already accessible openly.

@znarf
Copy link
Member

znarf commented Mar 4, 2020

This might be fixed soon!

@znarf znarf closed this as completed Jul 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api Issues that require some work on the API (https://github.com/opencollective/opencollective-api) backlog For tasks that aren't a priority to execute or there isn't enough data to fully solve. complexity → medium enhancement
Projects
None yet
Development

No branches or pull requests

8 participants