Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 109e73b

Browse files
EdwardAngertbpmctmatifaliBrunoQuaresmakylecarbs
authored
docs: add details on external authentication priority (#17164)
## Issue Closes #16875 Clarify how Coder authentication works with Git providers, particularly the order of authentication methods used. ## Changes Made I've updated the External Authentication documentation to: 1. Clarify that Coder first attempts to use external auth provider tokens when available, and only defaults to SSH authentication if no tokens are available 2. Add more detailed explanations about both authentication methods 3. Improve the description of how the `coder gitssh` command works with existing and Coder-generated SSH keys ## Verification Claude verified that this accurately describes the behavior of the codebase by reviewing the `gitssh.go` implementation, which shows how Coder handles SSH authentication as a fallback when external auth is not available. [preview](https://coder.com/docs/@16875-git-workspace-auth/admin/external-auth) <sub>🤖 Generated with https://claude.ai/code</sub> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: EdwardAngert <[email protected]> Co-authored-by: Ben Potter <[email protected]> Co-authored-by: M Atif Ali <[email protected]> Co-authored-by: Bruno Quaresma <[email protected]> Co-authored-by: Kyle Carberry <[email protected]> Co-authored-by: Cian Johnston <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jon Ayers <[email protected]> Co-authored-by: Hugo Dutka <[email protected]> Co-authored-by: Ethan <[email protected]> Co-authored-by: Michael Smith <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Sas Swart <[email protected]>
1 parent 3f3e201 commit 109e73b

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

docs/admin/external-auth.md

+49
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,55 @@ Use [`external-auth`](../reference/cli/external-auth.md) in the Coder CLI to acc
7171
coder external-auth access-token <USER_DEFINED_ID>
7272
```
7373

74+
## Git Authentication in Workspaces
75+
76+
Coder provides automatic Git authentication for workspaces through SSH authentication and Git-provider specific env variables.
77+
78+
When performing Git operations, Coder first attempts to use external auth provider tokens if available.
79+
If no tokens are available, it defaults to SSH authentication.
80+
81+
### OAuth (external auth)
82+
83+
For Git providers configured with [external authentication](#configuration), Coder can use OAuth tokens for Git operations.
84+
85+
When Git operations require authentication, and no SSH key is configured, Coder will automatically use the appropriate external auth provider based on the repository URL.
86+
87+
For example, if you've configured a GitHub external auth provider and attempt to clone a GitHub repository, Coder will use the OAuth token from that provider for authentication.
88+
89+
To manually access these tokens within a workspace:
90+
91+
```shell
92+
coder external-auth access-token <USER_DEFINED_ID>
93+
```
94+
95+
### SSH Authentication
96+
97+
Coder automatically generates an SSH key pair for each user that can be used for Git operations.
98+
When you use SSH URLs for Git repositories, for example, `[email protected]:organization/repo.git`, Coder checks for and uses an existing SSH key.
99+
If one is not available, it uses the Coder-generated one.
100+
101+
The `coder gitssh` command wraps the standard `ssh` command and injects the SSH key during Git operations.
102+
This works automatically when you:
103+
104+
1. Clone a repository using SSH URLs
105+
1. Pull/push changes to remote repositories
106+
1. Use any Git command that requires SSH authentication
107+
108+
You must add the SSH key to your Git provider.
109+
110+
#### Add your Coder SSH key to your Git provider
111+
112+
1. View your Coder Git SSH key:
113+
114+
```shell
115+
coder publickey
116+
```
117+
118+
1. Add the key to your Git provider accounts:
119+
120+
- [GitHub](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account#adding-a-new-ssh-key-to-your-account)
121+
- [GitLab](https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account)
122+
74123
## Git-provider specific env variables
75124

76125
### Azure DevOps

0 commit comments

Comments
 (0)