Plug-in de Identidade do Azure para Autenticação Visual Studio Code
Esse pacote fornece um plug-in para a biblioteca de Identidade do Azure para JavaScript (@azure/identity
) que permite a autenticação por meio da extensão "Conta do Azure" para Visual Studio Code. Esse plug-in fornece as dependências do VisualStudioCodeCredential
no @azure/identity
e permite que ele seja usado por conta própria ou como parte do DefaultAzureCredential
.
Introdução
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
Pré-requisitos
- Uma assinatura do Azure.
- Instalar Visual Studio Code e a extensão "Conta do Azure"
Instalar o pacote
Esse pacote foi projetado para ser usado com a Identidade do Azure para JavaScript. Instale esse @azure/identity
pacote usando npm
:
$ npm install --save @azure/identity
$ npm install --save-dev @azure/identity-vscode
Ambientes com suporte
Os plug-ins de Identidade do Azure para JavaScript dão suporte a versões estáveis (mesmo numeradas) de Node.js a partir da v12. Embora os plug-ins possam ser executados em outras versões do Nó, nenhum suporte é garantido.
@azure/identity-vscode
não dá suporte a ambientes de navegador.
Principais conceitos
|Se esta for a primeira vez que você usa o @azure/identity
ou o plataforma de identidade da Microsoft (Azure Active Directory), recomendamos que primeiro você leia Como usar o @azure/identity
com a plataforma de identidade da Microsoft. Esse documento fornecerá uma compreensão mais profunda da plataforma e de como configurar a conta do Azure corretamente.
Plug-ins de Identidade do Azure
A partir da @azure/identity
versão 2.0.0, a biblioteca de clientes de identidade para JavaScript inclui uma API de plug-in. Esse pacote (@azure/identity-vscode
) exporta um objeto plug-in que você deve passar como um argumento para a função de nível useIdentityPlugin
superior do @azure/identity
pacote. Habilite a autenticação por meio da extensão "Conta do Azure" para 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 @azure/identity
pacote será habilitado. Se esse plug-in não for usado, o VisualStudioCodeCredential
gerará um CredentialUnavailableError
e ele não estará disponível como parte do DefaultAzureCredential
.
Autenticação Visual Studio Code
VisualStudioCodeCredential
usa a sessão de autenticação da 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 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 o Código do Dispositivo" para usar o fluxo de código do dispositivo.
Depois de entrar, talvez seja necessário selecionar uma assinatura (por exemplo, se você tiver várias assinaturas do Azure) e alterar a assinatura ativa usando o menu para selecionar a entrada "Azure: Selecionar Assinaturas".
Exemplos
Depois que o plug-in for registrado, você poderá usar VisualStudioCodeCredential
de maneira semelhante às outras classes de credencial 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 DefaultAzureCredential
, que tentará autenticar usando a extensão "Conta do Azure" para Visual Studio Code se ela 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
Log
A habilitação do 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 log pode ser habilitado no runtime chamando setLogLevel
em @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Próximas etapas
Forneça comentários
Se você encontrar bugs ou tiver sugestões, abra um problema.
Contribuição
Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber como criar e testar o código.
Azure SDK for JavaScript