View on GitHub

CredentialManager

Packages the official Git Credential Manager cross-platform credential store implementation supporting Windows, macOS and Linux for use as a NS2.0 library with no UI or external dependencies.

Icon Git Credential Manager Lib

Version Downloads License Build

This project uses SponsorLink and may issue IDE-only warnings if no active sponsorship is detected.

Packages the official Git Credential Manager cross-platform credential store implementation supporting Windows, macOS and Linux for use as a NS2.0 library with no UI or external dependencies.

Release version numbers track the GCM releases themselves.

Usage

using GitCredentialManager;
...

ICredentialStore store = CredentialManager.Create("myapp");

// Store a credential
store.AddOrUpdate("https://foo.com", "myusr", "mypwd");

// Retrieve a credential
ICredential cred = store.Get("https://foo.com", "myusr");

Assert.Equal("myusr", cred.Account);
Assert.Equal("mypwd", cred.Password);

The namespace for the CredentialManager static factory class is the same as the official GCM itself for convenience: GitCredentialManager.

The optional namespace argument (myapp above) can be used to scope credential operations to your own app/service.

The library targets .NET Standard 2.0 for broad applicability.

Supported credential stores and their configuration is shared with the GCM project itself.

[!IMPORTANT] If you use Git’s built-in credential cache, a working installation of git is required. See GCM docs.

Releasing

To create a new release:

  1. Find & replace the latest release tag in this project to the desired release tag in the git-credential-manager project in the .netconfig file
  2. Run dotnet file sync -c:$env:TEMP\dotnet-file.md
  3. Use the contents of the generated file to update the release notes in the GitHub release. If no useful notes were generated, just copy the GCM ones.
  4. Create a PR like this one
  5. Once merged, create a matching release in this project.

Sponsors

Clarius Org MFB Technologies, Inc. Torutek DRIVE.NET, Inc. Keith Pickford Thomas Bolon Kori Francis Toni Wenzel Uno Platform Reuben Swartz Jacob Foshee David JENNI Jonathan Charley Wu Ken Bonny Simon Cropp agileworks-eu Zheyu Shen Vezel ChilliCream 4OTC Vincent Limo Jordan S. Jones domischell Justin Wendlandt Adrian Alonso Michael Hagedorn torutek

Sponsor this project  

Learn more about GitHub Sponsors