Skip to content

Commit 0e32f1b

Browse files
committed
docs: address architecture doc feedback
1 parent 8bcf927 commit 0e32f1b

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

docs/architecture.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ Most of the shared logic (command execution, the abstract platform subsystems, e
5151
>
5252
> There are extension points that now exist in MSAL.NET meaning we can plug-in our own browser pop-up handling code
5353
> on .NET Core meaning both Windows and Mac. We haven't yet gotten around to exploring this.
54+
>
55+
> See [this](https://github.com/microsoft/Git-Credential-Manager-Core/issues/113) issue for more information.
5456
5557
The entry-point for GCM Core can be found in the `Git-Credential-Manager` project, a console application that targets both
5658
.NET Core and .NET Framework. This project emits the `git-credential-manager-core(.exe)` executable, and contains very little
@@ -138,7 +140,7 @@ as usually requests end up going to the network at some point.
138140
Git Credential Manager Core maintains a set of known commands including `Get|Store|EraseCommand`, as well as commands for install and help/usage.
139141

140142
GCM Core also maintains a set of known, registered host providers that implement the `IHostProvider` interface. Providers register themselves
141-
by adding an instance of the provider to the `Application` object via the `RegisterProvider` method [here](../src/shared/Git-Credential-Manager/Program.cs).
143+
by adding an instance of the provider to the `Application` object via the `RegisterProvider` method [in `Microsoft.Git.CredentialManager.Program`](../src/shared/Git-Credential-Manager/Program.cs).
142144
The `GenericHostProvider` is registered last so that it can handle all other HTTP-based remotes as a catch-all, and provide basic username/password
143145
auth and detect the presense of Windows Integrated Authentication (Kerberos, NTLM, Negotiate) support (1).
144146

@@ -177,8 +179,12 @@ Depending on the request from Git, one of `GetCredentialAsync` (for `get` reques
177179
`EraseCredentialAsync` (for `erase` requests) will be called. The argument `InputArguments` contains the request information passed over standard input
178180
from Git/the caller; the same as was passed to `IsSupported`.
179181

180-
The return value for the `get` operation must be an `ICredential` that Git can use to complete authentication. The credential can also be an instance where
181-
both username and password are the empty string, to signal to Git it should let cURL use "any auth" detection - typically to use Windows Integrated Authentication.
182+
The return value for the `get` operation must be an `ICredential` that Git can use to complete authentication.
183+
184+
> **Note:**
185+
>
186+
> The credential can also be an instance where both username and password are the empty string, to signal to Git it
187+
> should let cURL use "any auth" detection - typically to use Windows Integrated Authentication.
182188
183189
There are no return values for the `store` and `erase` operations as Git ignores any output or exit codes for these commands. Failures for these operations
184190
are best communicated via writing to the Standard Error stream via `ICommandContext.Streams.Error`.

0 commit comments

Comments
 (0)