You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/architecture.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,6 +51,8 @@ Most of the shared logic (command execution, the abstract platform subsystems, e
51
51
>
52
52
> There are extension points that now exist in MSAL.NET meaning we can plug-in our own browser pop-up handling code
53
53
> 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.
54
56
55
57
The entry-point for GCM Core can be found in the `Git-Credential-Manager` project, a console application that targets both
56
58
.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.
138
140
Git Credential Manager Core maintains a set of known commands including `Get|Store|EraseCommand`, as well as commands for install and help/usage.
139
141
140
142
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).
142
144
The `GenericHostProvider` is registered last so that it can handle all other HTTP-based remotes as a catch-all, and provide basic username/password
143
145
auth and detect the presense of Windows Integrated Authentication (Kerberos, NTLM, Negotiate) support (1).
144
146
@@ -177,8 +179,12 @@ Depending on the request from Git, one of `GetCredentialAsync` (for `get` reques
177
179
`EraseCredentialAsync` (for `erase` requests) will be called. The argument `InputArguments` contains the request information passed over standard input
178
180
from Git/the caller; the same as was passed to `IsSupported`.
179
181
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.
182
188
183
189
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
184
190
are best communicated via writing to the Standard Error stream via `ICommandContext.Streams.Error`.
0 commit comments