git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[TOPIC 7/12] Authentication to new hosts without setup

From
Taylor Blau <me@ttaylorr.com>
Date
Oct 2, 2023, 15:21 UTC
Message-ID
<ZRrf3ntvh8y0VkYy@nand.local>
In-Reply-To
<ZRregi3JJXFs4Msb@nand.local>

(Presenter: M Hickford, Notetaker: Lessley Dennington) (Slides: https://docs.google.com/presentation/d/127xue1Sr19J1m6wk1KwY9-5G1lPxbyHOgaIi2Ro12ts/edit?usp=sharing)

* (Hickford) I interact with many Git "hosts" (GitHub, GitLab,
  gitlab.freedesktop.org, etc.). I had 15 Personal Access Tokens (PATs) around,
  which was tedious. I was using Git Credential Manager, which has an option to
  authenticate via web browser which creates a token. I released
  git-credential-oauth with this feature which you can use with a storage
  helper. I'm going to show an example of authenticating to a host I've never
  used before (Gitea). Demonstrates signing into Gitea via web browser and
  cloning his fork of project xorm/xorm. Since the repo is public, no
  authentication is necessary. Makes a commit and pushes. Auth flow is
  triggered, provides consent. Authentication was successful. There was no need
  for PATs or shell keys. Git-credential-oauth supports GitHub, GitLab, Gitea,
  and Gitee out of the box. Works using new(ish) password_expiry_utc attribute
  and wwwauth[] headers.
* (brian) Thinks it's a great idea because it's convenient. github.com/github
  requires SAML/SSO and the browser, and this should work just fine. It wouldn't
  be great to have in C, but as a helper it's super convenient.
* (Hickford) Ruled out a C implementation due to the challenges. Goal was to
  remove a barrier to entry for contributors to OSS trying to make bug fixes and
  having to set up/deal with PATs/SSH keys.
* (Jakub) Still work to do with creating a fork, pushing.
* (brian) GCM does this but represents a greater barrier to entry for less Git
  literate users. Less beneficial for Git power users.
   * Edit: Lessley and brian spoke after the meeting, and Lessley realized the
     above was not recorded correctly. git-credential-oauth and GCM both remove
     the need for users to manually set up PATs/SSH keys (which was what was
     being considered as the high barrier to entry).
Previous: Taylor BlauNext: Taylor Blau
Message 9 of 14 in “Notes from the Git Contributor's Summit, 2023”
  1. Taylor BlauOct 2, 2023
  2. 0/12 Welcome / Conservancy UpdateTaylor Blau, Oct 2, 2023
  3. 1/12 Next-gen reference backendsTaylor Blau, Oct 2, 2023
  4. 02/12 Libification Goals and ProgressTaylor Blau, Oct 2, 2023
  5. 3/12 Designing a Makefile for multiple librariesTaylor Blau, Oct 2, 2023
  6. 4/12 Scaling Git from a forge's perspectiveTaylor Blau, Oct 2, 2023
  7. 5/12 Replacing Git LFS using multiple promisor remotesTaylor Blau, Oct 2, 2023
  8. 6/12 Clarifying backwards compatibility and when we break itTaylor Blau, Oct 2, 2023
  9. 7/12 Authentication to new hosts without setupTaylor Blau, Oct 2, 2023
  10. 8/12 Update on jj, including at GoogleTaylor Blau, Oct 2, 2023
  11. 9/12 Code churn and cleanupsTaylor Blau, Oct 2, 2023
  12. 10/12 Project management practicesTaylor Blau, Oct 2, 2023
  13. 11/12 Improving new contributor on-boardingTaylor Blau, Oct 2, 2023
  14. 12/12 Overflow discussionTaylor Blau, Oct 2, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.