是否可以从 vscode 扩展中对 OAuth 2.0 API 进行身份验证

And*_*ton 6 oauth visual-studio-code vscode-extensions

我的团队编写了一个监控系统,我们最近将监控的定义迁移到了 git 存储库中。这些定义由一些 json 和 powershell 文件组成。VSCode 是编辑和处理 git 的理想场景。问题是在开发监控时,能够在测试环境中执行它是很好的。以前所有编辑都是通过 Web 界面完成的,我们允许通过 AzureAD 和 OAuth2.0 保护的 API 对测试机器临时执行 powershell。

VS Code 扩展无法访问完整的电子 API,并且您无法创建 BrowserWindow 来处理通常的 OAuth 重定向流。有没有办法解决这个限制并允许用户对我们的 api 进行身份验证,以便我们可以调用它?

任何想法或可能的解决方法都会很棒。

And*_*ton 1

对于无法打开 Web 浏览器进行身份验证的应用程序,获取用户令牌的受支持方法是“OAuth 设备流”。以下是有关如何使用 AAD 实施它的博客链接。

https://joonasw.net/view/device-code-flow

  • 当然,您可以打开浏览器访问某个网址。然后呢?您必须将重定向 URI 中的令牌返回到在 VSCode 内运行的扩展中。我们实际上是通过本地主机 websocket 和其他一些纯粹的恶作剧(在我们的扩展内部运行一个网络服务器)来实现的。这实际上就是他们设想的设备流程的场景。这也是 vscode 中的 Azure 扩展用于身份验证的方式。 (2认同)