git-lfs/lfsapi
brian m. carlson 67830784db
Implement multistage authentication
In 2.46, Git will support multistage authentication from credential
helpers.  This will allow Git and Git LFS to implement functionality
like NTLM and Kerberos in the credential helper, which lets this
functionality to work even if Git LFS doesn't support it natively.

This requires two separate pieces of data.  First, it involves a
`state[]` field, which each credential helper can add to keep track of
state.  Second, it allows the usage of a boolean `continue` field, which
indicates that the response is multistage and this is not the final
stage.

In order to make this work, we adjust a few things.  First, we advertise
the `state` capability.  Additionally, we save and pass back the
`state[]` fields that the credential helper may send to us.  We also
don't change the authentication scheme if the helper told us that this
was a multistage response.  Finally, we add a check to avoid a
credential helper getting stuck in an infinite loop if it keeps handing
back the same credentials.
2024-06-24 19:57:05 +00:00
..
auth_test.go Implement multistage authentication 2024-06-24 19:57:05 +00:00
auth.go Implement multistage authentication 2024-06-24 19:57:05 +00:00
body.go lfsapi: Ensure requests include Content-Length header if necessary 2017-01-25 08:59:11 -07:00
client.go Set package version to v3 2021-09-02 20:41:08 +00:00
endpoint_finder_test.go Replace deprecated io/ioutil functions 2024-01-11 03:48:51 +08:00
endpoint_finder.go lfsapi: avoid invoking Git on every endpoint lookup 2023-11-27 21:22:14 +00:00
kerberos.go Set package version to v3 2021-09-02 20:41:08 +00:00
lfsapi.go Add a configuration option to control the SSH protocol is used 2023-11-06 16:28:29 +00:00
response_test.go Set package version to v3 2021-09-02 20:41:08 +00:00