I have a license for Hangfire Pro which gives me access to a private NuGet repo. I need my team to access it but don’t want us to all share the one password so I am using Nexus to proxy to the private repo with authentication. Now when I run: dotnet add package Hangfire.Pro, I get error: There are no versions available for the package 'Hangfire.Pro'. If I run dotnet add package Hangfire.Pro --version 3.0.0 it works fine.
I’ve tested directly to the private repo and it works as expected. What am I missing? This seems like a straight forward use case and setup.
I just updated to v3.65.0-02 before this post hoping it was resolved. Been like this for about a year. I also have nuget.org proxied with no issue which makes be think it related to authentication. Running:
nuget list -Source https://nexus.corp.alg.com/repository/HangfirePro/index.json
fails and prompts for credentials. My nexus instance doesn’t requires credentials, just VPN
MSBuild auto-detection: using msbuild version '15.0' from '/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/15.0/bin'.
The remote server indicated that the previous request was forbidden. Please provide credentials for: https://nexus.corp.alg.com/repository/HangfirePro/index.json
UserName:
If I input my Hangfire credentials it works. So it seems like Nexus isn’t passing them correctly.
Hangfire uses ProGet for their private feed; maybe a bug on their end but if I connect directly, it works as expected.
Could be a bug on the ProGet side on how it’s receiving the authentication. In my very simple setup I have anonymous auth disabled in Nexus and a specific user account created.
I have created a v3 proxy repo with the upstream being just another nuget hosted repo on the same server. I configured the proxy to use my specific user account.
Using chocolatey I setup a new source without providing authentication to the source, and was able to both search and install a package through the proxied repo.
Now I know that’s not an apples to apples comparison but I think it proves “enough” things to help point the finger at someone else, and not Nexus.
Ya, I can open it there, was hoping to confirm it’s really a Nexus issue first.
@steviecoaster Appreciate all the testing! If I understand correctly, the auth for both your Nexus instance and private feed are the same. Maybe that could be why it worked?
I didn’t specify before but I am running Nexus on Linux and access it from dotnet/nuget on MacOS. I hope the experience would be the same but it sounds like you’re using Windows.
I tried another test. I have a TeamCity server with a private NuGet feed. I set it up with a user/pass, added to my Nexus as a proxy and got the same results. Listing versions doesn’t work but installing specific ones does.
Another command to try: dotnet list package --outdated
Project `HangfireBackend` has the following updates to its packages
[net8.0]:
Top-level Package Requested Resolved Latest
> Hangfire 1.8.2 1.8.2 1.8.11
> Hangfire.Core 1.8.2 1.8.2 1.8.11
> Hangfire.Pro 3.0.0 3.0.0 Not found at the sources
First two come from nuget.org, Hangfire.Pro from ProGet via Nexus proxy
Unfortunately I’ve only got a single instance (and no time to build out a better lab for testing currently).
Perhaps advantageously, it looks like we’ve got a customer with Nexus PRO who is experiencing this issue, so I’m having them reach out to Sonatype support and am gonna jump on a call with them to grab some data as well.