Partilhar via


Get tokens de ID do Microsoft Entra para utilizadores usando o MSAL

Importante

Este artigo descreve como criar manualmente tokens de ID do Microsoft Entra usando a biblioteca de autenticação da Microsoft (MSAL).

O Databricks não recomenda que você crie tokens de ID do Microsoft Entra para usuários do Azure Databricks manualmente. Isso ocorre porque cada token de ID do Microsoft Entra é de curta duração, normalmente expirando dentro de uma hora. Após esse período, deve generate manualmente um token de substituição do Microsoft Entra ID. Em vez disso, use uma das ferramentas participantes ou SDKs que implementam o padrão de autenticação unificada do cliente Databricks. Essas ferramentas e SDKs generate e substituem automaticamente tokens de ID do Microsoft Entra expirados para você, aproveitando de autenticação da CLI do Azure.

As entidades de serviço gerenciado do Azure Databricks são gerenciadas diretamente no Azure Databricks. As entidades de serviço gerenciadas do Microsoft Entra ID são gerenciadas no Microsoft Entra ID, o que requer permissões adicionais. O Databricks recomenda que você use entidades de serviço gerenciado do Azure Databricks para a maioria dos casos de uso. No entanto, o Databricks recomenda que você use entidades de serviço gerenciado do Microsoft Entra ID nos casos em where você deve autenticar com o Azure Databricks e outros recursos do Azure ao mesmo tempo.

Para criar uma entidade de serviço gerenciado do Azure Databricks em vez de uma entidade de serviço gerenciado do Microsoft Entra ID, consulte Gerenciar entidades de serviço.

Você pode usar a Microsoft Authentication Library (MSAL) para adquirir tokens de acesso do Microsoft Entra ID programaticamente. Este artigo descreve o uso básico da biblioteca MSAL e as entradas de usuário necessárias, com exemplos de Python.

Nota

O MSAL substitui a Microsoft Entra ID Authentication Library (ADAL). Todo o suporte e desenvolvimento da Microsoft para a ADAL, incluindo correções de segurança, terminou em 30 de junho de 2022. Consulte Migrar aplicativos para a Microsoft Authentication Library (MSAL).

Gorjeta

Talvez você queira tentar usar a CLI do Azure em vez da MSAL para get tokens de ID do Microsoft Entra para os usuários, já que usar a CLI do Azure envolve menos etapas. Consulte Get tokens de ID do Microsoft Entra para usuários usando a CLI do Azure.

Você também pode definir uma entidade de serviço no Microsoft Entra ID e get um token de acesso do Microsoft Entra ID para a entidade de serviço em vez de para um usuário. Consulte Get tokens de ID do Microsoft Entra para entidades de serviço.

Configurar um aplicativo no portal do Azure

Registre um aplicativo com o ponto de extremidade Microsoft Entra ID no portal do Azure. Como alternativa, você pode usar um aplicativo Microsoft Entra ID que já esteja registrado. Para obter mais informações, consulte Registrar um aplicativo usando o portal do Azure.

  1. Inicie sessão no portal do Azure.

    Nota

    O portal a ser usado é diferente dependendo se seu aplicativo Microsoft Entra ID é executado na nuvem pública do Azure ou em uma nuvem nacional ou soberana. Para obter mais informações, consulte Nuvens nacionais.

  2. Se você tiver acesso a vários locatários, assinaturas ou diretórios, clique no ícone Diretórios + assinaturas (diretório com filtro) no menu superior para alternar para o diretório no qual deseja registrar o aplicativo.

  3. Pesquise e selectMicrosoft Entra ID.

  4. Dentro do Gerenciar, selectregistros do aplicativo > Novo registro.

  5. Em Nome, insira um nome para o aplicativo.

  6. Na seção Tipos de conta suportados, selectContas somente neste diretório organizacional (Locatário único).

  7. Na seção Redirecionar URI (opcional), para uma plataforma, cliente público/nativo (móvel & desktop) e insira um URI de redirecionamento. No exemplo a seguir, o valor de URI de redirecionamento é http://localhost.

    Registar aplicação

  8. Clique em Registar.

  9. Na página Visão geral do da página do aplicativo, na seção do Essentials, copie o seguinte :

    • ID do aplicativo (cliente)
    • ID do diretório (locatário)
    • Em Redirecionar URIs, o cliente público redireciona o URI inserido anteriormente neste procedimento.
  10. Adicione AzureDatabricks às permissões necessárias do aplicativo registrado. Você deve ser um usuário administrador para executar esta etapa. Se você encontrar um problema relacionado a permissões enquanto executa essa ação, entre em contato com o administrador para obter ajuda.

    1. Na página Visão Geral da página de aplicação, no separador Get Iniciado, clique em Exibir permissões de API.

      Configurações do aplicativo registrado do Azure

    2. Clique em Adicionar uma permissão.

      Adicionar as permissões necessárias ao aplicativo

    3. No painel Permissões de API, clique no separador APIs utilizadas pela organização, procure por AzureDatabrickse clique em select.

      Adicionar permissão da API AzureDatabricks

    4. Habilite a caixa de seleção user_impersonation e clique em Adicionar permissões.

      Permissões delegadas do aplicativo Azure

    5. Clique no consentimento do administrador Grant para ### e, em seguida, em Sim. Para executar essa ação, você deve ser um usuário administrador ou ter o privilégio de grant consentimento para o aplicativo. Se você não vir Grant consentimento do administrador para ###ou se ignorar esta ação, deverá usar o fluxo de código de autorização (interativo) primeira vez que usar o aplicativo para fornecer consentimento. Depois disso, você pode usar o método de fluxo de nome de usuário-senha (programático).

      Adicionar usuários e grupos adicionais às permissões do aplicativo

Você pode adicionar outros usuários ao aplicativo. Para obter mais informações, consulte Atribuir uma conta de usuário a um aplicativo corporativo para obter instruções do portal do Azure ou Atribuir usuários e grupos a um aplicativo no Microsoft Entra ID (anteriormente Azure Ative Directory) para obter instruções do PowerShell. Um usuário não poderá obter um token sem as permissões necessárias.

Get um token de acesso do Microsoft Entra ID

Para get um token de acesso do Microsoft Entra ID, você pode usar:

Você deve usar o fluxo de código de autorização (interativo) para get o token de acesso do Microsoft Entra ID se:

  • A autenticação de dois fatores está habilitada no Microsoft Entra ID.
  • A autenticação federada está habilitada no Microsoft Entra ID.
  • Não lhe é concedido consentimento para o pedido registado durante o registo do pedido.

Se você tiver autoridade para entrar com um nome de usuário e senha, poderá usar o fluxo de nome de usuário-senha (programático) para obter um token de acesso do Microsoft Entra ID.

Fluxo de código de autorização (interativo)

Há duas etapas para adquirir um token de acesso do Microsoft Entra ID usando o fluxo de código de autorização.

  1. Solicite um código de autorização, que inicia um navegador window e solicita o início de sessão do utilizador do Azure. O código de autorização é retornado depois que o usuário efetua login com êxito.
  2. Use o código de autorização para adquirir o token de acesso do Microsoft Entra ID. Dependendo da abordagem que utilizar, um token refresh também pode ser retornado ao mesmo tempo e usado para refresh o token de acesso do Microsoft Entra ID.

Uma abordagem para concluir essas duas etapas é usar seu navegador da Web e enrolar. Para fazer isso, você usa seu navegador da Web para get o código de autorização e, em seguida, você usa o código de autorização e curl para get o token de acesso do Microsoft Entra ID. Essa abordagem não fornece um token refresh.

Outra abordagem é usar a biblioteca MSAL Python. Para fazer isso, tu executas um único script que utiliza o teu navegador da Web para get o código de autorização e, em seguida, usa o código de autorização para get um token de acesso e refresh um outro token.

Ambas as abordagens pressupõem que você já esteja conectado ao Azure. Se você não estiver conectado, seu navegador da Web solicitará que você faça isso.

Get tokens de ID do Microsoft Entra usando um navegador da Web e curl

  1. Recolha as seguintes informações:

    Parâmetro Description
    ID de Inquilino do A ID de diretório (locatário) para o aplicativo relacionado registrado na ID do Microsoft Entra em Configurar um aplicativo no portal do Azure.
    ID de Cliente A ID do aplicativo (cliente) para o aplicativo relacionado registrado no Microsoft Entra ID.
    Redirecionar URL Os URIs de redirecionamento apropriados para o aplicativo relacionado registrado no Microsoft Entra ID (por exemplo, http://localhost). As respostas de autenticação são enviadas para este URI com o código de autorização incluído.
  2. Get o código de autorização usando o seu navegador da Web para navegar até o seguinte URL. Substitua os campos no exemplo de URL a seguir de acordo. Observe que o URL deve ser enviado como uma única linha; quebras de linha foram adicionadas ao seguinte URL para facilitar a leitura. Para obter mais informações, consulte Solicitar um código de autorização.

    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=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d%2F.default
    &state=<state>
    

    Substituir:

    • <tenant-id> com o ID de locatário do aplicativo registrado.
    • <client-id> com o ID de cliente da aplicação registada.
    • <redirect-uri> com o URI de redirecionamento do aplicativo registrado. Esse URI deve estar no formato codificado por URL (codificado por porcentagem). Por exemplo, http://localhost é http%3A%2F%2Flocalhost.
    • <state> com um número aleatório ou alguma informação codificada. Para ajudar a verificar a integridade da troca de informações, esse valor de estado deve corresponder ao que está na URL retornada posteriormente neste procedimento.

    Não altere o scope valor do parâmetro. Ele representa a ID programática do Azure Databricks (2ff814a6-3304-4ab8-85cb-cd0e6f879c1d) junto com o escopo padrão (/.default, codificado por URL como %2f.default).

    Por exemplo:

    https://login.microsoftonline.com/a1bc2d34-5e67-8f89-01ab-c2345d6c78de/oauth2/v2.0/authorize?client_id=12a34b56-789c-0d12-e3fa-b456789c0123
    &response_type=code
    &redirect_uri=http%3A%2F%2Flocalhost
    &response_mode=query
    &scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d%2F.default
    &state=12345
    
  3. Cole a URL como uma única linha em seu navegador da Web e, se solicitado, entre no Azure.

  4. O código de code autorização está no campo no URL retornado. Salve o código de autorização em um local seguro. Certifique-se de que o valor do campo state corresponde ao que você forneceu anteriormente neste procedimento.

    URL do código de autorização

    O URL completo retornado terá esta aparência (com o valor de campo completo code encurtado para 0.ASkAIj...RxgFhSAA aqui para brevidade):

    http://localhost/?code=0.ASkAIj...RxgFhSAA&state=12345&session_state=c44574d5-38ba-4f93-b2a3-a830db8e8cdf
    
  5. Use o código de autorização junto com curl para get o token de acesso do Microsoft Entra ID.

    curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
    https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token \
    -d 'client_id=<client-id>' \
    -d 'scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d%2F.default' \
    -d 'code=<authorization-code>' \
    -d 'redirect_uri=<redirect-uri>' \
    -d 'grant_type=authorization_code' \
    -d 'state=<state>'
    

    Substituir:

    • <tenant-id> com o ID de locatário do aplicativo registrado.
    • <client-id> com o ID de cliente da aplicação registada.
    • <authorization-code> com o seu código de autorização.
    • <redirect-uri> com o URI de redirecionamento do aplicativo registrado. Esse URI deve estar no formato codificado por URL (porcentagem endossada). Por exemplo, http://localhost é http%3A%2F%2Flocalhost.
    • <state> com um número aleatório ou alguma informação codificada. Para ajudar a verificar a integridade da troca de informações, esse valor de estado deve corresponder ao que está na carga útil de resposta mais adiante neste procedimento.

    Não altere o scope valor do parâmetro. Ele representa a ID programática do Azure Databricks (2ff814a6-3304-4ab8-85cb-cd0e6f879c1d) junto com o escopo padrão (/.default, codificado por URL como %2f.default).

    Por exemplo:

    curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
    https://login.microsoftonline.com/a1bc2d34-5e67-8f89-01ab-c2345d6c78de/oauth2/v2.0/token \
    -d 'client_id=12a34b56-789c-0d12-e3fa-b456789c0123' \
    -d 'scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d%2F.default' \
    -d 'code=0.ASkAIj...RxgFhSAA' \
    -d 'redirect_uri=http%3A%2F%2Flocalhost' \
    -d 'grant_type=authorization_code' \
    -d 'state=12345'
    

    O token de ID do Microsoft Entra está no access_token valor dentro do resultado da chamada. Certifique-se de verificar se o state valor corresponde ao que você forneceu anteriormente neste procedimento.

Get tokens de ID do Microsoft Entra usando a biblioteca Python do MSAL

  1. Recolha as seguintes informações:

    Parâmetro Description
    ID de Inquilino do A ID de diretório (locatário) para o aplicativo relacionado registrado na ID do Microsoft Entra em Configurar um aplicativo no portal do Azure.
    ID de Cliente A ID do aplicativo (cliente) para o aplicativo relacionado registrado no Microsoft Entra ID.

    Este procedimento pressupõe que tenha sethttp://localhost como URI de Redirecionamento para o aplicativo relacionado registrado na ID do Microsoft Entra.

  2. Instale o SDK do MSAL Python em sua máquina local executando pip install msalo .

  3. Salve o código a seguir como get-tokens.py em sua máquina local.

    # Given the client ID and tenant ID for an app registered in Azure,
    # provide a <ms-entra-id> access token and a refresh token.
    
    # If the caller is not already signed in to Azure, the caller's
    # web browser will prompt the caller to sign in first.
    
    # pip install msal
    from msal import PublicClientApplication
    import sys
    
    # You can hard-code the registered app's client ID and tenant ID here,
    # or you can provide them as command-line arguments to this script.
    client_id = '<client-id>'
    tenant_id = '<tenant-id>'
    
    # Do not modify this variable. It represents the programmatic ID for
    # Azure Databricks along with the default scope of '/.default'.
    scopes = [ '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' ]
    
    # Check for too few or too many command-line arguments.
    if (len(sys.argv) > 1) and (len(sys.argv) != 3):
      print("Usage: get-tokens.py <client ID> <tenant ID>")
      exit(1)
    
    # If the registered app's client ID and tenant ID are provided as
    # command-line variables, set them here.
    if len(sys.argv) > 1:
      client_id = sys.argv[1]
      tenant_id = sys.argv[2]
    
    app = PublicClientApplication(
      client_id = client_id,
      authority = "https://login.microsoftonline.com/" + tenant_id
    )
    
    acquire_tokens_result = app.acquire_token_interactive(
      scopes = scopes
    )
    
    if 'error' in acquire_tokens_result:
      print("Error: " + acquire_tokens_result['error'])
      print("Description: " + acquire_tokens_result['error_description'])
    else:
      print("Access token:\n")
      print(acquire_tokens_result['access_token'])
      print("\nRefresh token:\n")
      print(acquire_tokens_result['refresh_token'])
    
  4. Execute um dos seguintes procedimentos:

    • No código anterior, substitua <client-id> pelo ID do cliente do aplicativo registrado e <tenant-id> pelo ID do locatário do aplicativo registrado e execute o script, por exemplo python get-tokens.py.
    • Forneça a ID do cliente do aplicativo registrado e a ID do locatário do aplicativo registrado ao executar o script, por exemplo python get-tokens.py 12a34b56-789c-0d12-e3fa-b456789c0123 a1bc2d34-5e67-8f89-01ab-c2345d6c78de.
  5. Se o navegador da Web solicitar, entre no Azure.

  6. Os tokens de ID do Microsoft Entra e os tokens de acesso refresh são impressos na saída.

Fluxo de nome de usuário-senha (programático)

  1. Se tiver autoridade para iniciar sessão com um nome de utilizador e uma palavra-passe, reúna as seguintes informações:

    Parâmetro Description
    ID de Inquilino do A ID de diretório (locatário) para o aplicativo relacionado registrado na ID do Microsoft Entra em Configurar um aplicativo no portal do Azure.
    ID de Cliente A ID do aplicativo (cliente) para o aplicativo realizado registrado no Microsoft Entra ID.
    Nome de utilizador e palavra-passe O nome de usuário (ou seja, o endereço de email quando você faz logon no portal do Azure) e a senha do usuário no locatário.

    Este procedimento pressupõe que tenha sethttp://localhost como o URI de Redirecionamento para o aplicativo relacionado registado na ID da Microsoft Entra.

  2. Instale o SDK do MSAL Python em sua máquina local executando pip install msalo .

  3. Salve o código a seguir como get-tokens-for-user.py em sua máquina local.

    # Given the client ID and tenant ID for an app registered in Azure,
    # along with an Azure username and password,
    # provide a <ms-entra-id> access token and a refresh token.
    
    # If the caller is not already signed in to Azure, the caller's
    # web browser will prompt the caller to sign in first.
    
    # pip install msal
    from msal import PublicClientApplication
    import sys
    
    # You can hard-code the registered app's client ID and tenant ID here,
    # along with the Azure username and password,
    # or you can provide them as command-line arguments to this script.
    client_id = '<client-id>'
    tenant_id = '<tenant-id>'
    username = '<username>'
    password = '<password>'
    
    # Do not modify this variable. It represents the programmatic ID for
    # Azure Databricks along with the default scope of '/.default'.
    scope = [ '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' ]
    
    # Check for too few or too many command-line arguments.
    if (len(sys.argv) > 1) and (len(sys.argv) != 5):
      print("Usage: get-tokens-for-user.py <client ID> <tenant ID> <username> <password>")
      exit(1)
    
    # If the registered app's client ID and tenant ID along with the
    # Azure username and password are provided as command-line variables,
    # set them here.
    if len(sys.argv) > 1:
      client_id = sys.argv[1]
      tenant_id = sys.argv[2]
      username = sys.argv[3]
      password = sys.argv[4]
    
    app = PublicClientApplication(
      client_id = client_id,
      authority = "https://login.microsoftonline.com/" + tenant_id
    )
    
    acquire_tokens_result = app.acquire_token_by_username_password(
      username = username,
      password = password,
      scopes = scope
    )
    
    if 'error' in acquire_tokens_result:
      print("Error: " + acquire_tokens_result['error'])
      print("Description: " + acquire_tokens_result['error_description'])
    else:
      print("Access token:\n")
      print(acquire_tokens_result['access_token'])
      print("\nRefresh token:\n")
      print(acquire_tokens_result['refresh_token'])
    
  4. Execute um dos seguintes procedimentos:

    • No código anterior, substitua <client-id> pelo ID do cliente do aplicativo registrado, <tenant-id> pelo ID do locatário do aplicativo registrado, <username> pelo nome de usuário e <password> pela senha e, em seguida, execute o script, por exemplo python get-tokens-for-user.py.
    • Forneça o ID do cliente do aplicativo registrado, o ID do locatário do aplicativo registrado, o nome de usuário e a senha ao executar o script, por exemplo python get-tokens-for-user.py 12a34b56-789c-0d12-e3fa-b456789c0123 a1bc2d34-5e67-8f89-01ab-c2345d6c78de someone@example.com "MyPa55w&rd!". Se um argumento de linha de comando contiver caracteres especiais, você deverá envolvê-lo com aspas.
  5. Os tokens de acesso do Microsoft Entra ID e refresh são impressos no seu terminal.

Use um token de acesso do Microsoft Entra ID para acessar a API REST do Databricks

Esta seção descreve como usar um token de acesso do Microsoft Entra ID para chamar a API REST do Databricks. Nos exemplos a seguir, substitua <access-token> pelo token de acesso do Microsoft Entra ID e <databricks-instance> pela URL por espaço de trabalho da sua implantação do Azure Databricks.

Exemplo de Python

Este exemplo mostra como list os clusters num espaço de trabalho do Azure Databricks.

import requests
import json

databricks_instance = '<databricks-instance>'
api_version = '/api/2.0'
api_command = '/clusters/list'
url = f"https://{databricks_instance}{api_version}{api_command}"
access_token = '<access-token>'

response = requests.get(
  url = url,
  headers = { 'Authorization': "Bearer " + access_token}
)

print(json.dumps(json.loads(response.text), indent = 2))

Nota

Se você for um usuário não administrador e quiser fazer logon como um usuário administrador, deverá fornecer o X-Databricks-Azure-Workspace-Resource-Id cabeçalho além do 'Authorization' : 'Bearer ' cabeçalho e deverá estar em uma função de Colaborador ou Proprietário no recurso de espaço de trabalho no Azure. Você constrói o valor da X-Databricks-Azure-Workspace-Resource-Id seguinte maneira:

# ...

subscription = '<azure-subscription-id>'
resource_group = '<azure-resource-group-name>'
workspace = '<databricks-workspace-name-in-azure>'

db_resource_id = '/subscriptions/%s/resourcegroups/%s/providers/microsoft.databricks/workspaces/%s' % (
  subscription,
  resource_group,
  workspace
)

# ...

  headers = {
    'Authorization': "Bearer " + access_token,
    'X-Databricks-Azure-Workspace-Resource-Id': db_resource_id
  }

# ...

Para get as informações de assinatura, recurso e espaço de trabalho no Azure, consulte Recursos abertos. Para abrir o recurso de destino, você pode pesquisar no tipo de serviço Azure Databricks e qualquer outra informação no Azure que você conheça sobre o espaço de trabalho do Azure Databricks de destino.

curl Exemplo

curl -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access-token>' \
https://<databricks-instance>/api/2.0/clusters/list

Refresh um token de acesso do Microsoft Entra ID

Se você get um token de refresh junto com seu token de acesso do Microsoft Entra ID, poderá usar o token refresh para obter um novo token. Por padrão, o tempo de vida dos tokens de acesso do Microsoft Entra ID é um período de tempo aleatório entre 60 e 90 minutos (75 minutos em média). Você pode configurar o tempo de vida dos tokens de acesso do Microsoft Entra ID usando os métodos em Tempos de vida de token configuráveis no Microsoft Entra ID (anteriormente Azure Ative Directory).

O exemplo a seguir mostra como usar a biblioteca MSAL Python junto com um token refresh para obter um novo token.

  1. Salve o código a seguir como refresh-tokens.py em sua máquina local.

    # Given the client ID and tenant ID for an app registered in Azure,
    # along with a refresh token, provide a new <ms-entra-id> access token and
    # refresh token.
    
    # If the caller is not already signed in to Azure, the caller's
    # web browser will prompt the caller to sign in first.
    
    # pip install msal
    from msal import PublicClientApplication
    import sys
    
    # You can hard-code the registered app's client ID, tenant ID,
    # and refresh token here, or you can provide them as command-line
    # arguments to this script.
    client_id = '<client-id>'
    tenant_id = '<refresh-token'
    refresh_token = '<refresh-token>'
    
    # Do not modify this variable. It represents the programmatic ID for
    # Azure Databricks along with the default scope of '.default'.
    scope = [ '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' ]
    
    # Check for too few or too many command-line arguments.
    if (len(sys.argv) > 1) and (len(sys.argv) != 4):
      print("Usage: refresh-tokens.py <client ID> <tenant ID> <refresh token>")
      exit(1)
    
    # If the registered app's client ID, tenant ID, and refresh token are
    # provided as command-line variables, set them here.
    if len(sys.argv) > 1:
      client_id = sys.argv[1]
      tenant_id = sys.argv[2]
      refresh_token = sys.argv[3]
    
    app = PublicClientApplication(
      client_id = client_id,
      authority = "https://login.microsoftonline.com/" + tenant_id
    )
    
    acquire_tokens_result = app.acquire_token_by_refresh_token(
      refresh_token = refresh_token,
      scopes = scope
    )
    
    if 'error' in acquire_tokens_result:
      print("Error: " + acquire_tokens_result['error'])
      print("Description: " + acquire_tokens_result['error_description'])
    else:
      print("\nNew access token:\n")
      print(acquire_tokens_result['access_token'])
      print("\nNew refresh token:\n")
      print(acquire_tokens_result['refresh_token'])
    
  2. Execute um dos seguintes procedimentos:

    • No código anterior, substitua <client-id> com a ID do cliente do aplicativo registrado, <tenant-id> com a ID do locatário do aplicativo registrado e <refresh-token> com o token refresh e, em seguida, execute o script, por exemplo python get-tokens-for-user.py.
    • Forneça a ID do cliente do aplicativo registrado, a ID do locatário do aplicativo registrado e o token refresh quando executar o script, por exemplo, python refresh-tokens.py 12a34b56-789c-0d12-e3fa-b456789c0123 a1bc2d34-5e67-8f89-01ab-c2345d6c78de "0.ASkAIj...huE84ALg". Se um argumento de linha de comando contiver caracteres especiais, você deverá envolvê-lo entre aspas.
  3. Os novos tokens de acesso do Microsoft Entra ID e refresh são impressos no seu terminal.