-
Notifications
You must be signed in to change notification settings - Fork 258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for NuGet authentication plugins deployed via .NET tools #13242
Conversation
Tagging @JohnSchmeichel, @embetten and @phil-hodgson for feedback on this spec. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great spec, despite all my comments! 👍
I found the spec easy to read until the end of the functional spec section, but then I found the technical explanation and alternatives sections wordy and hard to follow. I know I have the exact same problem when I write specs (or any kind of documentation), but I think shorter descriptions would help, as more information can be counter productive.
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
I have some longer-form thoughts on this that I want to write up to do it justice, but I'm super glad to see the NuGet team thinking about distribution of credential providers! One key scenario that I want to highlight that a tools-based install mechanism doesn't handle well is elevated nuget operations (aka Some ideas I've been bouncing around here:
|
…s.md Co-authored-by: Andy Zivkovic <[email protected]>
…s.md Co-authored-by: Andy Zivkovic <[email protected]>
…s.md Co-authored-by: Andy Zivkovic <[email protected]>
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
My 2c: I think we need something baked into the .NET SDK where a user can easily acquire it through a known dotnet NuGet command w/ respective parameters. Tools I feel can fit this job, but they would need to be surfaced through a SDK command. For example, imagine a user hits a private feed after cloning a repo, they should be empowered with some type of .NET SDK command that can in one single invocation get them on the happy path or be invoked implicitly to start that flow. The underlying implementation I think needs to be flexible enough to address various concerns in this proposal. I think the general direction that sounds ideal is a concept of credential helpers and the configuration is built into the .NET SDK to make the out of the box experience great. I think |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the write-up @kartheekp-ms
I see lots of comments that can be paraphrased to "Should the plugins be written in .NET".
Is that something that needs addressed or is it just a consequence of thinking about the design leads to this possibilities.
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
Looks like there's been a lot of good discussion already. To me, having to specify the tool path when installing the tool is a bit ugly. Would it be possible for NuGet to look for authentication plugis on the PATH? That way you could install the tool as a normal global tool. Or you could acquire it any way you want and just add it to your PATH. Since I don't think there's a fixed list of authentication plugins, I think you'd have to scan for executables matching a pattern such as NuGet.CredentialProvider.* on the PATH. We'd have to go through a security threat model on that I think (but probably we need to do so for this feature anyway). |
Thanks, Daniel, for the feedback. I proposed an alternative design in #13242 (comment). |
b55514d
to
fb3b5b1
Compare
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
Co-authored-by: Andy Zivkovic <[email protected]>
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
Co-authored-by: Nikolche Kolev <[email protected]>
…t for `.bat` files
Given that this spec has evolved since the first version, I have resolved a bunch of comments related to the previous revision of the spec to make navigating through the unresolved conversations in this pull request easier. If you have any questions about the resolved comments, please feel free to unresolve them and post a comment. I will respond as soon as possible. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks pretty good.
I may have some small feedback on the doc, but so consider this approval of the general concepts :)
Great job @kartheekp-ms, thanks for driving consensus.
accepted/2024/support-nuget-authentication-plugins-dotnet-tools.md
Outdated
Show resolved
Hide resolved
… summary and cleaned up alternative spec section
…" section a bit more concise
Related - #12567
Rendered Spec