git-ecosystem / git-ecosystem/git-credential-manager
Multiple Authentication Popups with Azure DevOps OAuth Credential Type
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 9.3k
- Forks
- 2.9k
- Avg merge
- 7d 1h
- Merged PRs (30d)
- 14
Description
Version
2.7.0+d1dd8a4ded75a2b1faae653157ac1699609442ad
Operating system
Windows
OS version or distribution
MacOS Tahoe 26.3.1
Git hosting provider(s)
Azure DevOps
Other hosting provider
No response
(Azure DevOps only) What format is your remote URL?
https://{org}@dev.azure.com/{org}
Can you access the remote repository directly in the browser?
Yes, I can access the repository
Expected behavior
Problem:
Our mobile application has multiple dependencies hosted within the same Azure DevOps organization. When resolving these dependencies, we encounter the following issues:
Multiple authentication popups - A separate authentication dialog appears for each dependency, rather than authenticating once for the entire organization.
GCM freezes on dismissal - If any popup is closed without completing authentication, Git Credential Manager (GCM) hangs indefinitely. Multiple git-credential-manager processes accumulate in Activity Monitor and do not terminate.
Root Cause:
This behavior started after switching to azreposCredentialType = oauth. Previously, credentials were stored per organization in Keychain using the format git://{org}@dev.azure.com/{org}, which allowed a single authentication to cover all dependencies within that organization.
Actual behavior
- Parallel authentications for repos within Azure DevOps organization should be grouped internally (gcm) and lead to a single authentication user prompt.
- Incase of failure to authenticate exit with non zero exit code.
Logs
gitconfig-redacted.txt
gcm-trace-redacted.log
gcm-git-redacted.log
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the attached gitconfig-redacted.txt, gcm-trace-redacted.log, and gcm-git-redacted.log to trace concurrent Azure DevOps OAuth requests and dismissal behavior. Done means requests for repositories in one organization share a single authentication prompt, and failed or dismissed authentication exits with a non-zero status without leaving GCM processes running.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp, git
- Domain
- authentication, devtools, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100