视觉工作室代码认证的 Azure 身份插件
此软件包为 JavaScript 提供了 Azure 身份库的插件(@azure/identity),通过Visual Studio代码的"Azure Resources"扩展来进行认证. 此插件提供了该插件的依赖性 VisualStudioCodeCredential 内 @azure/identity 并使其能够单独使用或作为 DefaultAzureCredential。 。 。 .
先决条件
注:用于地方发展
@azure/identity-vscode,您可能需要安装额外的工具. 节点-gyp 用于编译 加词 用于访问系统 API。 安装需求列于 节点- gyp 读取。 。 。 .
在 Linux 上, 库使用 libsecret 所以你可能需要安装它。 根据您的分布, 您需要运行以下命令 :
- 德比安/乌班图:
sudo apt-get install libsecret-1-dev - 红帽型:
sudo yum install libsecret-devel - Arch Linux : (原始内容存档于2019-09-29)
sudo pacman -S libsecret
[注] Visual Studio代码认证目前仅支持在Windows和Linux上. macOS尚未支持.
安装软件包
此软件包被设计为JavaScript与Azure身份一起使用. 安装两者 @azure/identity 使用 npm数字 :
$ npm install --save @azure/identity
$ npm install --save-dev @azure/identity-vscode
支持的环境
JavaScript的Azure身份插件支持从v12开始的Node.js的稳定(甚至编号)版本. 虽然插件可能运行在其他节点版本,但不能保证支持. @azure/identity-vscode 没有 支持浏览器环境.
关键概念
如果这是你第一次使用 @azure/identity 或微软Entra ID,我们建议您阅读 使用 @azure/identity 使用 Microsoft Entra ID 软件 先说 该文件将使您更深入地了解平台以及如何正确配置您的 Azure 账户 .
Azure 身份插件
截止 @azure/identity 4.11.0版本,JavaScript的身份客户端库包含一个插件API. 此套件 (@azure/identity-vscode)导出一个插件对象,您必须将其作为参数传递到顶层 useIdentityPlugin 函数从 @azure/identity 软件包。 通过Visual Studio代码的"Azure Resources"扩展名启用认证如下 :
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
打电话后 useIdentityPlugin,则 VisualStudioCodeCredential 从 @azure/identity 软件包将被启用。 如果没有使用此插件, 那么 VisualStudioCodeCredential 将丢出一个 CredentialUnavailableError,而且它不会作为 DefaultAzureCredential。 。 。 .
视觉工作室代码认证
VisualStudioCodeCredential 使用来自 "祖尔资源"扩展。要使用此证书,您必须使用扩展名在您的 Azure 账户上签名。 为此,打开Visual Studio代码,确保安装扩展,并从 命令调色板 使用"Azure: sign in"选项打开浏览器窗口并签名给Azure. 或者,您可以选择“ Azure: 用设备代码签名” 来使用设备代码流 .
签入后,可能需要选择订阅(例如,如果您有多个Azure订阅),可以通过使用菜单来选择"Azure:选择订阅"条目来更改活动订阅.
该插件会自动检测由Azure资源扩展存储的认证记录并用于认证.
实例
插件注册后,您就可以使用 VisualStudioCodeCredential 与其他证书类类似的方式 @azure/identity数字 :
import { useIdentityPlugin, VisualStudioCodeCredential } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
const credential = new VisualStudioCodeCredential();
// The graph.microsoft.com scope is used as an example
const scope = "https://graph.microsoft.com/.default";
// Print out part of the access token
console.log((await credential.getToken(scope)).token.substr(0, 10), "...");
您还可以使用 DefaultAzureCredential,它将试图使用"Azure Resources"扩展名认证Visual Studio代码,如果可用的话:
import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
// With the plugin enabled above, `DefaultAzureCredential` will use
// Visual Studio Code's "Azure Resources" extension to authenticate if
// it is available.
const credential = new DefaultAzureCredential();
// This will print a JWT access_token and its expiration timestamp
// The graph.microsoft.com scope is used as an example
console.log("Token:", await credential.getToken("https://graph.microsoft.com/.default"));
解决问题
日志
允许伐木可能有助于发现有关失败的有用信息。 为了查看 HTTP 请求和回复的日志,设置 AZURE_LOG_LEVEL 环境变量改为 info。或者,可以在运行时拨打 setLogLevel 输入 @azure/logger数字 :
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
今后的步骤
提供反馈
如果你遇到错误或有建议,请 打开一个问题。 。 。 .
捐款
如果您想为图书馆捐钱 请读一下 贡献指南 学习如何构建和测试密码.