4.2. 为 Microsoft Visual Studio Code 配置可信扩展
您可以使用 Microsoft Visual Studio Code 的 product.json
文件中的 trustedExtensionAuthAccess
字段指定哪些扩展是可信的,以访问身份验证令牌。
"trustedExtensionAuthAccess": [ "<publisher1>.<extension1>", "<publisher2>.<extension2>" ]
当您拥有需要访问 GitHub、Microsoft 或任何需要 OAuth 的其他服务的扩展时,这特别有用。通过在此字段中添加扩展 ID,授予他们访问这些令牌的权限。
您可以在 devfile 或 ConfigMap 中定义变量。选择最适合您需求的选项。使用 ConfigMap 时,变量将在所有工作区上传播,您不需要将变量添加到您使用的每个 devfile 中。
使用 trustedExtensionAuthAccess
字段请小心,因为它可能会导致安全风险。仅授予对可信扩展的访问权限。
由于 Microsoft Visual Studio Code 编辑器在 che-code
镜像中捆绑在一起,因此您只能在工作区启动时更改 product.json
文件。
定义 VSCODE_TRUSTED_EXTENSIONS 环境变量。在 devfile.yaml 中定义变量,或使用变量挂载 ConfigMap。
在 devfile.yaml 中定义 VSCODE_TRUSTED_EXTENSIONS 环境变量:
env: - name: VSCODE_TRUSTED_EXTENSIONS value: "<publisher1>.<extension1>,<publisher2>.<extension2>"
使用 VSCODE_TRUSTED_EXTENSIONS 环境变量挂载 ConfigMap:
kind: ConfigMap apiVersion: v1 metadata: name: trusted-extensions labels: controller.devfile.io/mount-to-devworkspace: 'true' controller.devfile.io/watch-configmap: 'true' annotations: controller.devfile.io/mount-as: env data: VSCODE_TRUSTED_EXTENSIONS: '<publisher1>.<extension1>,<publisher2>.<extension2>'
验证
-
变量的值将在工作区启动时解析,对应的
trustedExtensionAuthAccess
部分将添加到product.json
中。