Skip to content
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

External credential provider support for headers and query string parameters #6574

Open
emgarten opened this issue Feb 16, 2018 · 4 comments
Labels
Area:Authentication Area:HttpCommunication Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. Status:Excluded from icebox cleanup Status:Inactive Icebox issues not updated for a specific long time
Milestone

Comments

@emgarten
Copy link
Member

External credential providers should be able to contribute headers and query string parameters to http requests made by HttpSource to enable auth for additional protocols beyond basic auth.

Auth support in NuGet is currently limited to NTLM and username/password credentials using NetworkCredential.

https://github.com/NuGet/NuGet.Client/blob/3cfa0d51e338c32aa16ac05098cd7b74d595717c/src/NuGet.Core/NuGet.Protocol/HttpSource/HttpSourceAuthenticationHandler.cs#L70-L71

Examples

Azure uses SAS tokens which are added to the query string
https://docs.microsoft.com/en-us/azure/storage/common/storage-dotnet-shared-access-signature-part-1

AWS allows adding an authorization header to requests
https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html

@emgarten emgarten added this to the Backlog milestone Feb 16, 2018
@natemcmaster
Copy link

Just FYI - this would be immensely helpful for (ASP).NET Core's infrastructure.

cc @mmitche

@emgarten
Copy link
Member Author

@nkolev92 how difficult would it be to add support for query params/headers now that credentials providers are using the plugin protocol?

@nkolev92
Copy link
Member

nkolev92 commented Apr 30, 2018

@emgarten
The majority of the work with the new plugin has to do with the acquisition and reliability of external plugins.
We still only use the NetworkCredential model.

So we're not any closer from a network protocol side, but getting that info to NuGet, adding an extra capability to the plugin would be super easy.

@emgarten
Copy link
Member Author

From what I recall changing the credential provider in the client protocol layer didn't look too bad. It just needs to allow storing more than a system NetworkCredential.

Good to know that adding a plugin capability for this would not be difficult, I thought that would be most of the work.

@ghost ghost added the Status:Inactive Icebox issues not updated for a specific long time label Sep 1, 2022
@nkolev92 nkolev92 added Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. and removed Priority:2 Issues for the current backlog. labels Apr 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area:Authentication Area:HttpCommunication Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. Status:Excluded from icebox cleanup Status:Inactive Icebox issues not updated for a specific long time
Projects
None yet
Development

No branches or pull requests

5 participants