Gerar um token de segurança
Neste artigo, você aprenderá a gerar o token de segurança da entidade de serviço, o token de segurança de um usuário e o token de atualização de um usuário.
Registro do seu aplicativo com o Microsoft Entra ID
Para provisionar a plataforma do Gerenciador de Dados do Azure para Energia, você deve registrar seu aplicativo na página de registro de aplicativos do portal do Azure. Você pode usar uma conta Microsoft ou uma conta corporativa ou de estudante para registrar um aplicativo. Para ver etapas sobre como configurar, consulte Registrar a documentação do aplicativo.
Na seção visão geral do aplicativo, se não houver URIs de redirecionamento especificadas, selecione Adicionar uma plataforma>Web, adicione
http://localhost:8080
e selecionar Salvar.
Buscar parâmetros
Você também pode encontrar os parâmetros depois que o aplicativo é registrado no portal do Azure.
Localizar tenant-id
Acesse a conta do Microsoft Entra da sua organização. Você pode pesquisar a Microsoft Entra ID na barra de pesquisa do portal do Azure.
Na guia Visão geral, na seção Informações básicas, localize a ID do Locatário.
Copie o valor de
tenant-ID
e cole-o em um editor para ser usado posteriormente.
Localizar client-id
Uma client-id
é o mesmo valor que você usa para registrar seu aplicativo durante o provisionamento da instância do Gerenciador de Dados do Azure para Energia. É muitas vezes chamado de app-id
.
Acesse a página de visão geral do Gerenciador de Dados do Azure para Energia. No painel Informações básicas, localize a ID do cliente.
Copie o valor
client-id
e cole-o em um editor para ser usado posteriormente.Atualmente, uma instância do Gerenciador de Dados do Azure para Energia permite que uma
app-id
seja associada a uma instância.Importante
A
client-id
que é passada como um valor nas chamadas à API de Direitos precisa ser a mesma que foi usada para provisionar a instância do Gerenciador de Dados do Azure para Energia.
Localizar client-secret
O client-secret
é um valor de cadeia de caracteres que o seu aplicativo pode usar no lugar de um certificado para se identificar. Às vezes, ele é conhecido como uma senha de aplicativo.
Vá para Registros de aplicativos.
Na seção Gerenciar, selecione Certificados e segredos.
Selecione Novo segredo do cliente para criar um segredo do cliente para a ID do cliente que você usou para criar a instância do Gerenciador de Dados do Azure para Energia.
Registre o Valor do segredo para uso posterior no código do aplicativo cliente.
O token de acesso do
app-id
eclient-secret
tem o acesso de administrador de infraestrutura à instância.Cuidado
Não se esqueça de gravar o valor do segredo. Esse valor do segredo nunca será exibido novamente depois que você sair da página de criação do segredo do cliente.
Localizar o redirect-uri
O redirect-uri
do aplicativo, para o qual seu aplicativo envia e recebe as respostas de autenticação. Ele deve corresponder exatamente a um dos URIs de redirecionamento registrados no portal, exceto que ele deve ser codificado como URL.
- Vá para Registros de aplicativos.
- Na seção Gerenciar, selecione Autenticação.
- Busque o
redirect-uri
(ou URL de resposta) do aplicativo para receber respostas do Microsoft Entra ID.
Localizar o adme-url da sua instância do Gerenciador de Dados do Azure para Energia
Crie uma instância do Gerenciador de Dados do Azure para Energia usando o
client-id
gerada acima.Acesse a página de Visão geral do Azure Data Manager para Energia no portal do Azure.
No painel Informações básicas, 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 Gerenciador de Dados do Azure para Energia.
Opção 1: na seção Avançado da interface do usuário do Gerenciador de Dados do Azure para Energia, acesse o item de menu Partições de Dados.
Opção 2: no painel Informações básicas da página de Visão Geral do Gerenciador de Dados do Azure para Energia, abaixo do campo Partições de Dados, selecione exibir.
Localizar domínio
Por padrão, o domain
é dataservices.energy para todas as instâncias do Gerenciador de Dados de Energia do Azure.
Gerar o token de segurança do cliente-id
Execute o comando curl a seguir no Azure Cloud Bash depois de substituir os valores de espaço reservado pelos valores correspondentes encontrados nas etapas anteriores. O token de acesso na resposta é o token de segurança client-id
.
Formato de solicitação
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 exemplo
{
"token_type": "Bearer",
"expires_in": 86399,
"ext_expires_in": 86399,
"access_token": "abcdefgh123456............."
}
Gerar o token de segurança do usuário
Para gerar o token de segurança de um usuário é necessário um processo de duas etapas.
Obter o authorization-code
A primeira etapa para obter um token de acesso para muitos fluxos do OIDC (OpenID Connect) e OAuth 2.0 é redirecionar o usuário para o ponto de extremidade /authorize
da plataforma de identidade da Microsoft. O Microsoft Entra ID inscreve o usuário e solicita seu consentimento para as permissões que seu aplicativo solicita. No fluxo de concessão de código de autorização, após o consentimento ser obtido, o Microsoft Entra ID retorna um código de autorização para o aplicativo que ele pode resgatar no ponto de extremidade /token
da plataforma 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 na URL de qualquer navegador e selecionar Enter.
Entre no portal do Azure se você ainda não estiver conectado.
Você poderá ver a mensagem de erro "Hummm... não é possível acessar esta página" no navegador. Você pode ignorá-la.
O navegador redirecionará para
http://localhost:8080/?code={authorization code}&state=...
em caso de 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 esse
authorization-code
útil para uso futuro.Parâmetro Descrição 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 têm curta duração. Normalmente, eles expiram depois de cerca de 10 minutos. estado 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 da solicitação e da resposta são idênticos. Essa verificação ajuda a detectar 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 é transmitido sem verificação.
Aviso
A execução da URL no Postman não funcionará, pois ela requer configuração adicional para recuperação de token.
Obter um token de autenticação e um token de atualização
A segunda etapa é obter o token de autenticação e o token de atualização. O aplicativo usa o código de autorização recebido na etapa anterior para solicitar um token de acesso enviando uma solicitação POST ao ponto de extremidade /token
.
Formato de solicitação
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 de exemplo
{
"token_type": "Bearer",
"scope": "User.Read profile openid email",
"expires_in": 4557,
"access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkJuUXdJd0ZFc...",
"refresh_token": "0.ARoAv4j5cvGGr0GRqy180BHbR8lB8cvIWGtHpawGN..."
}
Parâmetro | Descrição |
---|---|
token_type | Indica o valor do tipo de token. O único tipo compatível com o Microsoft Entra ID é Portador. |
scope | Uma lista separada por espaço 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 do 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 têm longa duração e podem ser usados para reter acesso a recursos por períodos estendidos. |
Para obter mais informações sobre como gerar um token de acesso do 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 registrada do The Open Group.
Próximas etapas
Para saber mais sobre como usar o token de atualização gerado, confira: