-
Notifications
You must be signed in to change notification settings - Fork 0
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
Product design decision: How to handle GitHub login process #28
Comments
While I understand the big advantage of options 2 and 3, and strongly sympathise with it, I would still tend towards option 1 for what we implement now, I think this is also what most existing systems in our situation choose, so it's what the user expects. Then next year we can add option 3 as an improvement / new feature, gives us a new press release opportunity :) |
Might be worth looking into option 2 again when time to implement option 3 comes. |
I think option 1 is more suitable for CYB right now, we just need an app to work. |
@yasharpm do you agree with choosing option 1, at least for our initial launch version of CYB? |
Option 2 sounds nice but being in "beta" scares me. It usually means that there will be quick changes to how it works and we don't have that kind of attention span! Being complicated for the user is also a con. Maybe they will make is easy for the user when the feature is completed and not a beta anymore! Then we can definitely look into it. Option 3, I am against it. Because then we would have to register a user on Github for the CYB. If the account can be auto created through APIs, it is still complicated for the user to grant permission to a random username they'd have to copy and paste and then check if it worked. More likely the account can not be auto created, then it will be more painful to setup a new instance of the CYB on your own server. And when the CYB server is no longer used, that Github account will still live with access to many repositories which makes it a security risk. Overall I don't think it fits our use case well. So, I prefer option 1. And about the extra access the CYB gets, we can argue that it is an opensource software so you know what is running on your own server if you don't trust the shared server to be running the same code. |
Well, strictly speaking, the server admin would of a CYB instance would register a user for that instance. So for instance we would register one for https://connectyourbooks.com and maybe a separate one for https://time.pondersource.com . For comparison, with option 1 you have generate one API key for each instance, which can also not be automated, so it's not that different?
Then you would delete the user (just like you would delete the API key in the option 1 situation) |
So I think we have consensus, we unanimously chose option 1 :) |
1st Option
Authenticate against GitHub using :
Pros
Cons
2nd Option
Authenticate using fine grained tokens:
this is new (still Beta) feature of GitHub that allows user to create customized tokens which can grant access to specific repositories.
fine grained tokens
Pros
Cons
3rd Option
another interesting thing is machine users, probably fits our case with CYB.
machine users
Pros
Cons
The text was updated successfully, but these errors were encountered: