[Tech Spec] Supporting Bearer Auth#14174
Conversation
There was a problem hiding this comment.
PR Overview
This PR introduces a tech specification for supporting bearer token authentication for NuGet credential providers. The document outlines the functional and technical changes needed to update the NuGet CLI to support bearer auth, discusses drawbacks, and presents alternative schemes.
Reviewed Changes
| File | Description |
|---|---|
| accepted/2025/supporting-bearer-auth.md | New tech spec document detailing changes to enable bearer token auth |
Copilot reviewed 1 out of 1 changed files in this pull request and generated no comments.
joelverhagen
left a comment
There was a problem hiding this comment.
Looks good. It is a relatively high level doc with some details left to the implementation. I am fine with this if your team is. Seems like some things are best figured out once you see how the code is factored.
zivkan
left a comment
There was a problem hiding this comment.
just nitpick comments, but hardly surprising since I talked to you about this before you wrote the spec 😁
Co-authored-by: Andy Zivkovic <zivkan@users.noreply.github.com>
Co-authored-by: Andy Zivkovic <zivkan@users.noreply.github.com>
Co-authored-by: Andy Zivkovic <zivkan@users.noreply.github.com>
Co-authored-by: Andy Zivkovic <zivkan@users.noreply.github.com>
Co-authored-by: Andy Zivkovic <zivkan@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
This PR adds a technical specification detailing support for bearer token authentication in NuGet’s credential providers.
- Introduces a new spec document outlining the requirements and technical rationale.
- Describes the updated authentication behaviors and the limitations of the current .NET HttpClientHandler.
- Lists alternatives and future possibilities regarding credential handling.
Comments suppressed due to low confidence (1)
accepted/2025/supporting-bearer-auth.md:50
- The interface is referenced as 'ICredential', but the linked documentation refers to 'ICredentials'; please update for consistency.
Even though we are adding support for bearer tokens, the ICredential.GetCredential explicitly returns a NetworkCredential, which requires a username and password.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Andy Zivkovic <zivkan@users.noreply.github.com>
Co-authored-by: Andy Zivkovic <zivkan@users.noreply.github.com>
|
Seems useful could it get some new attention? |
|
@jgonz120 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement ( “Agreement” ) is agreed to by the party signing below ( “You” ), 1. Definitions. “Code” means the computer software code, whether in human-readable or machine-executable form, “Project” means any of the projects owned or managed by .NET Foundation and offered under a license “Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any “Submission” means the Code and any other copyrightable material Submitted by You, including any 2. Your Submission. You must agree to the terms of this Agreement before making a Submission to any 3. Originality of Work. You represent that each of Your Submissions is entirely Your 4. Your Employer. References to “employer” in this Agreement include Your employer or anyone else 5. Licenses. a. Copyright License. You grant .NET Foundation, and those who receive the Submission directly b. Patent License. You grant .NET Foundation, and those who receive the Submission directly or c. Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement. 6. Representations and Warranties. You represent that You are legally entitled to grant the above 7. Notice to .NET Foundation. You agree to notify .NET Foundation in writing of any facts or 8. Information about Submissions. You agree that contributions to Projects and information about 9. Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and 10. Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and .NET Foundation dedicates this Contribution License Agreement to the public domain according to the Creative Commons CC0 1. |
|
@zivkan - Could you please help understand next steps on this one? |
zivkan
left a comment
There was a problem hiding this comment.
@aortiz-msft I think it's acceptable to merge as is, and then schedule the implementation. If I were writing the design spec, I would have worded some things a bit differently, but that would just be for clarity. The fundamental substance of the spec is good.
Tech spec for #12877