cli / go-gh

A Go module for interacting with gh and the GitHub API from the command line.
https://pkg.go.dev/github.com/cli/go-gh/v2
MIT License
322 stars 45 forks source link

Read gh token from gh proper if not found in other locations #107

Closed mislav closed 1 year ago

mislav commented 1 year ago

GitHub CLI is soon moving away from storing the token in plain text configuration file. It will prefer to read the token from system's keyring storage.

As an unfortunate result, extensions will start failing now that token isn't in the YAML file anymore. But, we also don't want individual extensions to interface with the keyring. Instead, extensions will now shell out to gh config get oauth_token --host HOSTNAME to obtain the token.

This introduces a dependency on gh proper to be in PATH, but I consider that to be a reasonable request for extensions.

Delegating to the gh executable to obtain the token allows us to fine-tune how GitHub CLI interfaces with keyring storage in the future without affecting extensions again.