c# - VSIX 凭据的存储位置 - Visual Studio 2017 扩展

标签 c# visual-studio store credentials vsix

上下文:
我正在为 Visual Studio 2017 编写 VSIX 扩展,它需要连接到需要用户身份验证的 REST API。 我决定使用 VSPackage 为我的扩展提供服务。

为了能够连接和验证用户,我想将用户凭据存储在某个地方,它可以是用户名和密码或 OAuth token - 无关紧要。

问题:
存储 VSIX 凭据信息的最佳位置是什么?

要求:

  • 凭据不应存储为纯文本
  • 不应存储在文本文件中
  • 应按用户存储
    (我们可以有多个 Windows 用户,一个 Windows 用户 = 一个 VS 用户)
  • 应在所有运行的 Visual Studio 实例中可用
  • 应该使用 VS2017 (15.0+) Community、Pro 和 Enterprise

至于现在我已经看了一下 WritableSettingsStore在 VS 的 UserSettings 范围内,但它以纯文本形式存储在注册表中,我不想在此之上实现我自己的安全性

我也尝试查找有关 IVsCredentialStorageService 的更多信息但它的文档很少,并且缺乏有关如何正确使用它以及是针对每个用户还是每个系统的信息。

最佳答案

您可以使用 Windows 凭证存储,允许您以安全的方式存储每个用户:https://www.nuget.org/packages/CredentialManagement/

关于c# - VSIX 凭据的存储位置 - Visual Studio 2017 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49214827/

相关文章:

c# - 程序集绑定(bind)重定向 : How and Why?

c# - 如何在 WebBrowser 控件中提交表单?

javascript - 将 C# 字典读取到 Javascript 对象

c# - Visual Studio 打字问题

mysql - mysql多个where子句内计算

scala - 添加和扩展通用编写器特征以进行逐步数据存储的最佳方法

C# 如何返回 null 或模型

visual-studio - 带有 Git 的 TeamCity Visual Studio 插件

c++ - 在 Visual Studio 中,我可以在断点处绘制我的变量吗?

extjs - 绑定(bind)商店更改公式