cli/pkg/cmd/auth
Tyler McGoffin ccb830ca36 Shorten language on Authenticate with a GitHub host.
The default authentication mode is a web-based browser flow. After completion, an
authentication token will be stored securely in the system credential store.
If a credential store is not found or there is an issue using it gh will fallback
to writing the token to a plain text file. See `gh auth status` for its
stored location.

Alternatively, use `--with-token` to pass in a token on standard input.
The minimum required scopes for the token are: `repo`, `read:org`, and `gist`.

Alternatively, gh will use the authentication token found in environment variables.
This method is most suitable for "headless" use of gh such as in automation. See
`gh help environment` for more info.

To use gh in GitHub Actions, add `GH_TOKEN: ${{ github.token }}` to `env`.

The git protocol to use for git operations on this host can be set with `--git-protocol`,
or during the interactive prompting. Although login is for a single account on a host, setting
the git protocol will take effect for all users on the host.

Specifying `ssh` for the git protocol will detect existing SSH keys to upload,
prompting to create and upload a new key if one is not found. This can be skipped with
`--skip-ssh-key` flag.

USAGE
  gh auth login [flags]

FLAGS
  -p, --git-protocol string   The protocol to use for git operations on this host: {ssh|https}
  -h, --hostname string       The hostname of the GitHub instance to authenticate with
      --insecure-storage      Save authentication credentials in plain text instead of credential store
  -s, --scopes strings        Additional authentication scopes to request
      --skip-ssh-key          Skip generate/upload SSH key prompt
  -w, --web                   Open a browser to authenticate
      --with-token            Read token from standard input

INHERITED FLAGS
  --help   Show help for command

EXAMPLES
  # Start interactive setup
  $ gh auth login

  # Authenticate against github.com by reading the token from a file
  $ gh auth login --with-token < mytoken.txt

  # Authenticate with specific host
  $ gh auth login --hostname enterprise.internal

LEARN MORE
  Use `gh <command> <subcommand> --help` for more information about a command.
  Read the manual at https://cli.github.com/manual
  Learn about exit codes using `gh help exit-codes` around Tylers-GitHub-MacBook.local
2024-09-20 15:51:07 -07:00
..
gitcredential Add error to auth refresh when active user does not match newly authenticated token user 2023-12-06 16:51:48 -04:00
login Shorten language on Authenticate with a GitHub host. 2024-09-20 15:51:07 -07:00
logout Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
refresh Make gitcredential helper smarter 2024-05-16 13:15:26 +02:00
setupgit Enhance gh repo create docs, fix random cmd link 2024-09-16 13:42:51 -04:00
shared Remove TODO and add comment on LoginFlow tests 2024-05-17 14:51:02 +02:00
status Expand active test cases 2024-08-30 10:57:51 -04:00
switch Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
token Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
auth.go Implement auth switch 2023-12-06 14:06:28 +01:00