Gerar um token de autenticação
Neste artigo, você aprenderá a gerar o token de autenticação da entidade de serviço, o token de autenticação de um usuário e o token de atualização de um usuário.
Registar a aplicação no Microsoft Entra ID
Para provisionar a plataforma Azure Data Manager for Energy, você deve registrar seu aplicativo na página de registro do aplicativo do portal do Azure. Pode utilizar uma conta Microsoft ou uma conta escolar ou profissional para registar uma aplicação. Para obter etapas sobre como configurar, consulte Registrar a documentação do aplicativo.
Na seção de visão geral do aplicativo, se não houver URIs de redirecionamento especificados, você poderá selecionar Adicionar uma plataforma>Web, adicionar
http://localhost:8080
e selecionar Salvar.
Parâmetros de busca
Você também pode encontrar os parâmetros depois que o aplicativo é registrado no portal do Azure.
Encontrar ID de inquilino
Aceda à conta Microsoft Entra da sua organização. Você pode pesquisar por ID do Microsoft Entra na barra de pesquisa do portal do Azure.
Na guia Visão geral, na seção Informações básicas, localize ID do locatário.
Copie o valor e cole-o
tenant-ID
em um editor para ser usado mais tarde.
Encontrar ID do cliente
A client-id
é o mesmo valor que você usa para registrar seu aplicativo durante o provisionamento da instância do Azure Data Manager for Energy. É muitas vezes referido como app-id
.
Vá para a página Visão Geral do Azure Data Manager for Energy. No painel Essentials, localize a ID do cliente.
Copie o valor e cole-o
client-id
em um editor para ser usado mais tarde.Atualmente, uma instância do Azure Data Manager for Energy permite que uma
app-id
seja associada a uma instância.Importante
O
client-id
valor passado como um valor nas chamadas da API de Direitos precisa ser o mesmo que foi usado para provisionar sua instância do Azure Data Manager for Energy.
Encontrar segredo do cliente
A client-secret
é um valor de cadeia de caracteres que seu aplicativo pode usar no lugar de um certificado para se identificar. Às vezes é referida como uma senha de aplicativo.
Aceda a Registos de aplicações.
Na seção Gerenciar, selecione Certificados & segredos.
Selecione Novo segredo do cliente para criar um segredo do cliente para a ID do cliente que você usou para criar sua instância do Azure Data Manager for Energy.
Registre o valor do segredo para uso posterior no código do aplicativo cliente.
O token de acesso do e
client-secret
tem acessoapp-id
do administrador de infraestrutura à instância.Atenção
Não se esqueça de registrar o valor do segredo. Esse valor secreto nunca mais é exibido depois que você sai desta página para a criação de segredo do cliente.
Encontrar redirect-uri
O redirect-uri
do seu aplicativo, onde o aplicativo envia e recebe as respostas de autenticação. Ele deve corresponder exatamente a um dos URIs de redirecionamento que você registrou no portal, exceto que ele deve ser codificado por URL.
- Aceda a Registos de aplicações.
- Na seção Gerenciar, selecione Autenticação.
- Procure o (ou URL de resposta) do
redirect-uri
seu aplicativo para receber respostas do Microsoft Entra ID.
Encontre o adme-url para sua instância do Azure Data Manager for Energy
Crie uma instância do Azure Data Manager for Energy usando o
client-id
gerado acima.Vá para a página Visão Geral do Azure Data Manager for Energy no portal do Azure.
No painel Essentials, copie o URI.
Localizar data-partition-id
Você tem duas maneiras de obter a lista de partições de dados em sua instância do Azure Data Manager for Energy.
Opção 1: Na seção Avançado da interface do usuário do Azure Data Manager for Energy, vá para o item de menu Partições de Dados.
Opção 2: No painel Essentials da página Visão Geral do Azure Data Manager for Energy, abaixo do campo Partições de Dados, selecione exibir.
Encontrar domínio
Por padrão, o domain
é dataservices.energy para todas as instâncias do Azure Data Manager for Energy.
Gerar o token de autenticação client-id
Execute o seguinte comando curl no Azure Cloud Bash depois de substituir os valores de espaço reservado pelos valores correspondentes encontrados anteriormente nas etapas anteriores. O token de acesso na resposta é o client-id
token de autenticação.
Formato do pedido
curl --location --request POST 'https://login.microsoftonline.com/<tenant-id>/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=<client-id>.default' \
--data-urlencode 'client_id=<client-id>' \
--data-urlencode 'client_secret=<client-secret>' \
--data-urlencode 'resource=<client-id>'
Resposta de amostra
{
"token_type": "Bearer",
"expires_in": 86399,
"ext_expires_in": 86399,
"access_token": "abcdefgh123456............."
}
Gerar o token de autenticação do usuário
Gerar o token de autenticação de um usuário é um processo de duas etapas.
Obter o código de autorização
A primeira etapa para obter um token de acesso para muitos fluxos OpenID Connect (OIDC) e OAuth 2.0 é redirecionar o usuário para o ponto de extremidade da plataforma /authorize
de identidade da Microsoft. O Microsoft Entra ID inicia sessão no utilizador e solicita o seu consentimento para as permissões que a sua aplicação solicita. No fluxo de concessão de código de autorização, após a obtenção do consentimento, a ID do Microsoft Entra retorna um código de autorização para seu aplicativo que ele pode resgatar no ponto de extremidade da plataforma /token
de identidade da Microsoft para um token de acesso.
Prepare o formato da solicitação usando os parâmetros.
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize?client_id=<client-id> &response_type=code &redirect_uri=<redirect-uri> &response_mode=query &scope=<client-id>%2f.default&state=12345&sso_reload=true
Depois de substituir os parâmetros, você pode colar a solicitação no URL de qualquer navegador e selecionar Enter.
Entre no portal do Azure se ainda não estiver conectado.
Você pode ver o "Hmmm... can't reach this page" mensagem de erro no navegador. Você pode ignorá-lo.
O navegador redireciona para
http://localhost:8080/?code={authorization code}&state=...
após a autenticação bem-sucedida.Copie a resposta da barra de URL do navegador e busque o texto entre
code=
e&state
.http://localhost:8080/?code=0.BRoAv4j5cvGGr0...au78f&state=12345&session....
Mantenha-o
authorization-code
à mão para uso futuro.Parâmetro Description code O código de autorização que o aplicativo solicitou. O aplicativo pode usar o código de autorização para solicitar um token de acesso para o recurso de destino. Os códigos de autorização são de curta duração. Normalmente, expiram após cerca de 10 minutos. state Se um parâmetro de estado for incluído na solicitação, o mesmo valor deverá aparecer na resposta. O aplicativo deve verificar se os valores de estado na solicitação e na resposta são idênticos. Essa verificação ajuda a detetar ataques CSRF contra o cliente. session_state Um valor exclusivo que identifica a sessão de usuário atual. Esse valor é um GUID, mas deve ser tratado como um valor opaco que é aprovado sem exame.
Aviso
Executar a URL no Postman não funcionará porque requer configuração extra para recuperação de token.
Obter um token de autenticação e um token de atualização
O segundo passo é obter o token de autenticação e o token de atualização. Seu aplicativo usa o código de autorização recebido na etapa anterior para solicitar um token de acesso enviando uma solicitação POST para o /token
ponto de extremidade.
Formato do pedido
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'client_id=<client-id>
&scope=<client-id>%2f.default openid profile offline_access
&code=<authorization-code>
&redirect_uri=<redirect-uri>
&grant_type=authorization_code
&client_secret=<client-secret>' 'https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token'
Resposta da amostra
{
"token_type": "Bearer",
"scope": "User.Read profile openid email",
"expires_in": 4557,
"access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkJuUXdJd0ZFc...",
"refresh_token": "0.ARoAv4j5cvGGr0GRqy180BHbR8lB8cvIWGtHpawGN..."
}
Parâmetro | Description |
---|---|
token_type | Indica o valor do tipo de token. O único tipo que o Microsoft Entra ID suporta é Bearer. |
âmbito | Uma lista separada por espaços das permissões do Microsoft Graph para as quais o token de acesso é válido. |
expires_in | Por quanto tempo o token de acesso é válido (em segundos). |
access_token | O token de acesso solicitado. Seu aplicativo pode usar esse token para chamar o Microsoft Graph. |
refresh_token | Um token de atualização OAuth 2.0. Seu aplicativo pode usar esse token para adquirir tokens de acesso extras depois que o token de acesso atual expirar. Os tokens de atualização são de longa duração e podem ser usados para manter o acesso aos recursos por longos períodos de tempo. |
Para obter mais informações sobre como gerar um token de acesso de usuário e usar um token de atualização para gerar um novo token de acesso, consulte Gerar tokens de atualização.
OSDU® é uma marca comercial do The Open Group.
Próximos passos
Para saber mais sobre como usar o token de atualização gerado, consulte: