我正在开发一个需要使用 OAuth 进行身份验证的扩展。 vscode 命名空间中是否有存储空间可以安全地存储应用程序秘密和访问令牌?如果没有,有什么建议吗?谢谢!
TL;博士。否,截至 2017 年 11 月。
有一些关于 Visual Studio Code 扩展的凭据 API 的讨论(#15414,#31131),但截至 2017 年 11 月,此功能已停滞,近期不会计划。
作为解决方案,您可以在
globalState
中检查workspaceState
和
vscode.ExtensionContext
作为存储数据的解决方案,但您可能需要自己处理加密/解密。
如果您不希望用户在存储后see此字符串(如
User Settings
,您应该使用context.globalState
.
Example Extension Tagged Comment.
这是它存储价值的方式:
context.globalState.update('lastTagged', str);
这是加载值的方式:
let lastTagged = context.globalState.get('lastTagged', '');
是的,为此提供了 SecretStorage 实用程序。 秘密在重新加载时持续存在,并且独立于当前打开的工作区。