存储VSIX凭据的位置 - Visual Studio 2017 Extension

时间:2018-03-10 22:50:58

标签: c# visual-studio store credentials vsix

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

为了能够连接和验证用户,我想在某处存储用户凭据,可以是用户名和密码,也可以是OAuth令牌 - 无关紧要。

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

要求:

  • 凭据不应存储为纯文本
  • 不应存储在文本文件中
  • 应按用户存储
    (我们可以拥有多个Windows用户,一个Windows用户=一个VS用户)
  • 应该可以在Visual Studio的所有正在运行的实例中使用
  • 应与VS2017(15.0+)社区,专业版和企业版合作

至于现在,我在VS中的 UserSettings 范围内查看了WritableSettingsStore,但它是通过纯文本存储在注册表中的我不想在那个

之上实现我自己的安全性

我还试图找到有关IVsCredentialStorageService的更多信息,但文档记录不足,缺乏有关如何正确使用它的信息,以及是否是每个用户或每个系统。

1 个答案:

答案 0 :(得分:0)

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