Credential acquisition callback.
This callback is usually involved any time another system might need authentication. As such, you are expected to provide a valid git_credential object back, depending on allowed_types (a git_credential_t bitmask).
Note that most authentication details are your responsibility - this callback will be called until the authentication succeeds, or you report an error. As such, it's easy to get in a loop if you fail to stop providing the same incorrect credentials.
The resource for which we are demanding a credential.
The username that was embedded in a "user@host" remote url, or NULL if not included.
A bitmask stating which credential types are OK to return.
The payload provided when specifying this callback.
0 for success, < 0 to indicate an error, > 0 to indicate no credential was acquired