Share via


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

  1. 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.

  2. 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.

    Captura de tela mostrando a adição do URI ao aplicativo.

Buscar parâmetros

Você também pode encontrar os parâmetros depois que o aplicativo é registrado no portal do Azure.

Localizar tenant-id

  1. 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.

  2. Na guia Visão geral, na seção Informações básicas, localize a ID do Locatário.

  3. Copie o valor de tenant-ID e cole-o em um editor para ser usado posteriormente.

    Captura de tela mostrando a pesquisa do Microsoft Entra ID.

    Captura de tela mostrando a localização da ID do locatário.

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.

  1. 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.

  2. Copie o valor client-id e cole-o em um editor para ser usado posteriormente.

  3. 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.

    Captura de tela mostrando a localização da ID do cliente no seu aplicativo registrado.

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.

  1. Vá para Registros de aplicativos.

  2. Na seção Gerenciar, selecione Certificados e segredos.

  3. 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.

  4. Registre o Valor do segredo para uso posterior no código do aplicativo cliente.

    O token de acesso do app-id e client-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.

    Captura de tela mostrando a localizaçã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.

  1. Vá para Registros de aplicativos.
  2. Na seção Gerenciar, selecione Autenticação.
  3. Busque o redirect-uri (ou URL de resposta) do aplicativo para receber respostas do Microsoft Entra ID.

Captura de tela mostrando o redirect-uri.

Localizar o adme-url da sua instância do Gerenciador de Dados do Azure para Energia

  1. Crie uma instância do Gerenciador de Dados do Azure para Energia usando o client-id gerada acima.

  2. Acesse a página de Visão geral do Azure Data Manager para Energia no portal do Azure.

  3. No painel Informações básicas, copie o URI.

    Captura de tela mostrabdo a localização do URI para a instância do Gerenciador de Dados de Energia do Azure.

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.

    Captura de tela mostrando a localização do data-partition-id da instância do Gerenciador de Dados de Energia do Azure.

  • 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.

    Captura de tela mostrando a localização do data-partition-id da página de Visão Geral da instância do Gerenciador de Dados de Energia do Azure.

    Captura de tela mostrando a localização do data-partition-id da página Visão geral da instância do Gerenciador de Dados de Energia do Azurea com as partições de dados.

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.

  1. 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
    
  2. Depois de substituir os parâmetros, você pode colar a solicitação na URL de qualquer navegador e selecionar Enter.

  3. Entre no portal do Azure se você ainda não estiver conectado.

  4. Você poderá ver a mensagem de erro "Hummm... não é possível acessar esta página" no navegador. Você pode ignorá-la.

    Captura de tela do redirecionamento do localhost.

  5. O navegador redirecionará para http://localhost:8080/?code={authorization code}&state=... em caso de autenticação bem-sucedida.

  6. 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....
    
  7. 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: