.net - 私有(private) nuget 源 github 返回 401 并提供正确的凭据

标签 .net github nuget rider

我有一个 nuget 包托管在我的私有(private)存储库上。 我一开始添加了最少量的范围标志,但后来添加了更多,除了一些管理级别的标志。

现在,当将源添加到 IDE(Rider/jetbrains)中的全局“nuget.config”时,它会提示我输入 github 凭据,但在输入并确认这些凭据后,它几乎立即再次询问。我也无法在 nuget 面板中看到软件包。

我尝试访问 api,它接受了我在 IDE 中输入的相同凭据

https://nuget.pkg.github.com/myusername/index.json

在 IDE nuget 面板中设置源也会将其添加到全局“nuget.config”

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="github" value="https://nuget.pkg.github.com/myusername/index.json" />
  </packageSources>
</configuration>

这一切都是在同一个桌面上完成的,我在 IDE 和 ssh 上使用单个 gh 帐户登录。

添加私有(private)源时,我不需要用于推送包的 token ,对吧? 如果这很重要,则将存储库设置为私有(private)。

最佳答案

不确定到底是什么导致了它,但我删除了所有全局和 sln 级别的源。

dotnet nuget list source
..........
..sources.
..........
dotnet nuget remove source <source name>

然后仅使用 dotnet cli nuget 工具我添加了全局源。 这些是为此处的存储库全局设置的。使用此源时,dotnet cli 中的标志将覆盖其中任何一个(如果设置)。

dotnet nuget add source https://nuget.pkg.github.com/GITHUB_USERNAME/index.json --name "Github" --username "GITHUB_USERNAME" --password <PAT TOKEN FROM GITHUB> --store-password-in-clear-text --valid-authentication-types basic

将身份验证类型设置为基本模式,请参阅 options properties PAT token 具有包的范围:

  • 阅读
  • 删除

一些杂项范围:

  • 通知
  • 工作流程

此后我还没有测试它,而是使用新源创建了一个新包并使用 dotnet CLI 推送它

dotnet build
dotnet pack ./library.sln 
dotnet nuget push ./bin/Debug/NetNugetDemo.1.0.4.nupkg --api-key <SAME PAT TOKEN GITHUB> --source "Github"

用于再次添加 PAT token 的额外参数可能不是必需的,但我只是想确定一下。

创建了一个新的 cli 项目,github 源代码没有问题,包也可用。

关于.net - 私有(private) nuget 源 github 返回 401 并提供正确的凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67793959/

相关文章:

c# - 带有 Entity Framework 的 MVC 3 和编辑多个对象导致 "referential integrity constraint violation"

c# - 自签名证书是否足够安全?

git - 如何确定您的默认远程 git 存储库?

GitHub API - 如何比较 2 个提交

git - 在 git bash 中创建一个新文件

visual-studio-2013 - nuget 网站的 DNS 问题导致全局 NuGet 包恢复失败

python - 使用 Python.Net 导入具有依赖项的 .NET Standard 2.0 类库

nuget - 如何打开 NuGet 包的自述 URL?

c# - 使用网络服务

c# - 使用另一个字节列表/数组计算字节列表/数组中的出现次数