Plug-in de identidade do Azure para autenticação de código do Visual Studio
Este pacote fornece um plug-in para a biblioteca de Identidade do Azure para JavaScript (@azure/identity
) que habilita a autenticação por meio da extensão "Conta do Azure" para o Visual Studio Code. Este plugin fornece as dependências do VisualStudioCodeCredential
em @azure/identity
e permite que ele seja usado por conta própria ou como parte de DefaultAzureCredential
.
Primeiros passos
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
Pré-requisitos
- Uma assinatura do Azure.
- Instale Visual Studio Code e a extensão "Conta do Azure"
Instalar o pacote
Este pacote foi projetado para ser usado com o Azure Identity for JavaScript. Instale o @azure/identity
e este pacote usando npm
:
$ npm install --save @azure/identity
$ npm install --save-dev @azure/identity-vscode
Ambientes suportados
Os plug-ins do Azure Identity para JavaScript suportam versões estáveis (numeradas pares) do Node.js a partir da v12. Embora os plugins possam ser executados em outras versões do Node, nenhum suporte é garantido.
@azure/identity-vscode
não suporta ambientes de navegadores.
Conceitos-chave
Se esta for a primeira vez que você usa o @azure/identity
ou a plataforma de identidade da Microsoft (Azure Ative Directory), recomendamos que você leia Usando @azure/identity
com a Microsoft Identity Platform primeiro. Este documento lhe dará uma compreensão mais profunda da plataforma e como configurar sua conta do Azure corretamente.
Plug-ins do Azure Identity
A partir de @azure/identity
versão 2.0.0, a biblioteca de cliente Identity para JavaScript inclui uma API de plug-in. Este pacote (@azure/identity-vscode
) exporta um objeto de plugin que você deve passar como um argumento para a função de useIdentityPlugin
de nível superior do pacote @azure/identity
. Habilite a autenticação por meio da extensão "Conta do Azure" para o Visual Studio Code da seguinte maneira:
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
Depois de chamar useIdentityPlugin
, o VisualStudioCodeCredential
do pacote @azure/identity
será habilitado. Se este plugin não for usado, então VisualStudioCodeCredential
lançará um CredentialUnavailableError
, e ele não estará disponível como parte de DefaultAzureCredential
.
Autenticação de código do Visual Studio
VisualStudioCodeCredential
usa a sessão de autenticação do extensão "Conta do Azure". Para usar essa credencial, você deve entrar em sua conta do Azure usando a extensão. Para fazer isso, abra o Visual Studio Code, verifique se a extensão está instalada e entre na Paleta de Comandos usando a opção "Azure: Entrar" para abrir uma janela do navegador e entrar no Azure. Como alternativa, você pode selecionar "Azure: Entrar com código de dispositivo" para usar o fluxo de código do dispositivo.
Depois de iniciar sessão, poderá ter de selecionar uma subscrição (por exemplo, se tiver várias subscrições do Azure) e pode alterar a subscrição ativa utilizando o menu para selecionar a entrada "Azure: Selecionar Subscrições".
Exemplos
Uma vez que o plugin é registrado, você pode usáVisualStudioCodeCredential
de forma semelhante às outras classes de credenciais em @azure/identity
:
import { useIdentityPlugin, VisualStudioCodeCredential } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
async function main() {
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), "...");
}
main().catch((error) => {
console.error("An error occurred:", error);
process.exit(1);
});
Você também pode usar o DefaultAzureCredential
, que tentará autenticar usando a extensão "Conta do Azure" para o Visual Studio Code, se estiver disponível:
import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
async function main() {
// With the plugin enabled above, `DefaultAzureCredential` will use
// Visual Studio Code's "Azure Account" 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"));
}
main().catch((error) => {
console.error("An error occurred:", error);
process.exit(1);
});
Solução de problemas
Registo
Habilitar o registro em log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL
como info
. Como alternativa, o registro em log pode ser habilitado em tempo de execução chamando setLogLevel
no @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Próximos passos
Fornecer comentários
Se você encontrar bugs ou tiver sugestões, por favor, abrir um problema.
Contribuição
Se você quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.
Azure SDK for JavaScript