Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upNon-Github account creation #326
Comments
steveklabnik
added
the
C-enhancement
label
Apr 30, 2016
This comment has been minimized.
This comment has been minimized.
|
I don't know of anyone working on additional logins. Given that you already have a github account, what specifically is the issue? I can think of a few, I'm interested in yours, specifically. |
This comment has been minimized.
This comment has been minimized.
|
Particularly my problem is that I don't have crates.io account and that I don't think GitHub has, or should have, anything to do with publishing Rust crates. How is there any (not artificially induced) overlap between what crates.io does and what GitHub does? @steveklabnik Is there any benefit to using GitHub Account API, aside from the fact that it happened to be the first user database that attracted some developer's eye? |
This comment has been minimized.
This comment has been minimized.
The only things dealing with github are the index, which is a plain git repository, and therefore easy to swap, and the login system, which is the usual oauth based thing. Publishing crates, other than oauth being the only way to get a crates.io account at the moment, has nothing to do with github. The reasons for choosing GitHub for logins was the same as any site that enables OAuth: new users don't have to trust us with storing passwords, nor making Yet Another Account on another website. There's no inherent reason that it has to stay GitHub only, other than nobody has bothered to actually implement it. |
This comment has been minimized.
This comment has been minimized.
|
… except that crates.io really isn't a lot more than an index with per-login management. Since you seem to not be not very fond of the idea of "normal" logins (correct me if I'm wrong). Have you considered an OpenID login option instead? |
This comment has been minimized.
This comment has been minimized.
|
Well, there's also the hosting of all of the crates' source code, permissions around who and what is exactly allowed to publish, validating that Cargo.toml is filled out correctly...... I'm not opposed to a 'normal' login. I wouldn't be particularly pro-OpenID though, personally. But it's @alexcrichton 's opinion that matters most. |
This comment has been minimized.
This comment has been minimized.
|
Yes there's no particular reason that we don't have anything other than GitHub yet beyond that no one's actually implemented it. It was always the intent to have a variety of login options, and then you could link multiple login varieties to the same account (e.g. you can log in via oauth from either Twitter or GitHub) |
This comment has been minimized.
This comment has been minimized.
|
@alexcrichton: So if I were to come along with an OpenID Auth implementation you'd probably merge it (aside from the usual getting-to-know-the-codebase-mistakes of course)? |
This comment has been minimized.
This comment has been minimized.
|
@alexander255 certainly! Github authorization is currently handled around here, and I suspect that something like OpenID would be similar and we'd just want a landing page to pick which one you want ahead of time (instead of always going to github first) |
carols10cents
added
the
E-big
label
Feb 22, 2017
This comment has been minimized.
This comment has been minimized.
grawlinson
commented
Jun 7, 2018
|
So what's actually required to implement alternative logins? Just hooking into Gitlab's OAuth provider? Would anyone be willing to mentor me if I choose to work on this? |
This comment has been minimized.
This comment has been minimized.
|
@grawlinson here are some of the places we have code that interacts with GitHub:
There are several tricky things to keep in mind. It's been a while since I've looked at the details, but there is logic to handle renamed users and teams. If I recall correctly, we use the In addition to the backend work, there would also need to be a frontend interface to select the appropriate login provider. Since this looks like a fairly large amount of work, I think we would want to split this up into multiple PRs, incrementally adding functionality and enabling the frontend interface in the last one. A good place to start might be to see if there is a reasonable way to extract the GitHub specific fields from the user/owner/team models to abstract over multiple OAuth providers. |
This comment has been minimized.
This comment has been minimized.
grawlinson
commented
Jun 15, 2018
|
OK, I'll have a look at the models and get started on a PR. |
carols10cents
added
the
A-accounts
label
Jun 30, 2018
carols10cents
referenced this issue
Mar 13, 2019
Closed
Optionally show publicly whether user has enabled 2FA #1667
sgrif
referenced this issue
Mar 21, 2019
Closed
GitHub authorization requires excessive permissions #1688
This comment has been minimized.
This comment has been minimized.
maghoff
commented
Mar 21, 2019
|
@grawlinson, did you get anywhere with this? :) Now that login (again?) is required for publishing, I think there's renewed interest in this. From the comment history it looks like you are working on it, but it's been a while since the last update. Can you confirm if you're still on the case? :) |
This comment has been minimized.
This comment has been minimized.
grawlinson
commented
Mar 22, 2019
|
I'm still interested in implementing this, but real life takes up all my free time at the moment. I can probably spare a day or two per week, if anyone's willing to mentor/guide. |
This comment has been minimized.
This comment has been minimized.
|
This really feels to me like something that should go through the RFC process. Identity and its relationship to access control are touchy topics, and ones which should, IMO, get proper design and security review before implementation work starts. |
This comment has been minimized.
This comment has been minimized.
grawlinson
commented
Mar 30, 2019
|
Agreed. I’ll start drafting and submit a RFC over at the rust-lang/rfcs repository.
… On 31/03/2019, at 04:47, Tony Arcieri ***@***.***> wrote:
This really feels to me like something that should go through the RFC process. Identity and its relationship to access control are touchy topics (and also an area of personal expertise for me), and ones which should, IMO, get proper design and security review before implementation work starts.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
This comment has been minimized.
This comment has been minimized.
jolhoeft
commented
Mar 30, 2019
|
Last month I added OAuth support for several providers to my nickel.rs based site (https://virtuarasa.com/), so a lot of these issues are fresh in my mind, although I've not yet looked at the crates.io code yet. @jtgeibel 's outline of the issues above maps to much of what I needed to deal with. If it won't step on anyone's toes, I'd like to take a swing at this. My oauth identity module may generalize for this application (if so I'll make a separate crate of it). I would treat linking accounts, e.g. having a login with Google the same as a login with Github, as a completely separate issue after multiple providers are supported. Is there a desire to support local accounts, i.e. users create a username and password on crates.io? |
This comment has been minimized.
This comment has been minimized.
Not at this time, no. |
This comment has been minimized.
This comment has been minimized.
|
@jolhoeft perhaps you could help @grawlinson work on an RFC? |
alexander255 commentedApr 29, 2016
http://doc.crates.io/crates-io.html says:
Any plans to change this? Not publishing on crates.io meanwhile…