Hämta Microsoft Entra-ID-token (tidigare Azure Active Directory) för användare med hjälp av MSAL

Viktigt!

Den här artikeln beskriver hur du manuellt skapar Microsoft Entra-ID-token (tidigare Azure Active Directory) med hjälp av Microsoft Authentication Library (MSAL).

Databricks rekommenderar inte att du skapar Microsoft Entra-ID-token (tidigare Azure Active Directory) för Azure Databricks-användare manuellt. Detta beror på att varje Microsoft Entra-ID-token är kortlivad och vanligtvis upphör att gälla inom en timme. Efter den här tiden måste du manuellt generera en ersättningstoken för Microsoft Entra-ID. Använd i stället något av de deltagande verktygen eller SDK:erna som implementerar Databricks-klientens enhetliga autentiseringsstandard . Dessa verktyg och SDK:er genererar och ersätter automatiskt förfallna Microsoft Entra-ID-token åt dig, vilket utnyttjar Azure CLI-autentisering.

Azure Databricks-hanterade tjänstens huvudnamn hanteras direkt i Azure Databricks. Microsoft Entra ID managed service principals hanteras i Microsoft Entra-ID, vilket kräver ytterligare behörigheter. Databricks rekommenderar att du använder Azure Databricks-tjänstens huvudnamn för de flesta användningsfall. Databricks rekommenderar dock att du använder Microsoft Entra ID managed service principals i fall där du måste autentisera med Azure Databricks och andra Azure-resurser samtidigt.

Information om hur du skapar ett huvudnamn för en hanterad Azure Databricks-tjänst i stället för ett hanterat Microsoft Entra-ID-huvudnamn finns i Hantera tjänstens huvudnamn.

Du kan använda Microsoft Authentication Library (MSAL) för att hämta Åtkomsttoken för Microsoft Entra-ID programatiskt. I den här artikeln beskrivs grundläggande användning av MSAL-biblioteket och nödvändiga användarindata, med Python-exempel.

Kommentar

MSAL ersätter Microsoft Entra ID Authentication Library (ADAL). All Microsoft-support och utveckling för ADAL, inklusive säkerhetskorrigeringar, upphörde den 30 juni 2022. Se Migrera program till Microsoft Authentication Library (MSAL).

Dricks

Du kanske vill prova att använda Azure CLI i stället för MSAL för att hämta Microsoft Entra-ID-token för användare, eftersom användning av Azure CLI omfattar färre steg. Se Hämta Microsoft Entra-ID-token (tidigare Azure Active Directory) för användare med hjälp av Azure CLI.

Du kan också definiera ett huvudnamn för tjänsten i Microsoft Entra-ID och hämta en Microsoft Entra-ID-åtkomsttoken för tjänstens huvudnamn i stället för för en användare. Se Hämta Microsoft Entra-ID-token (tidigare Azure Active Directory) för tjänstens huvudnamn.

Konfigurera en app i Azure-portalen

Registrera ett program med Microsoft Entra ID-slutpunkten i Azure-portalen. Du kan också använda en Microsoft Entra-ID-app som redan är registrerad. Mer information finns i Registrera en app med hjälp av Azure-portalen.

  1. Logga in på Azure-portalen.

    Kommentar

    Portalen som ska användas skiljer sig beroende på om ditt Microsoft Entra-ID-program körs i det offentliga Azure-molnet eller i ett nationellt eller nationellt moln. Mer information finns i Nationella moln.

  2. Om du har åtkomst till flera klienter, prenumerationer eller kataloger klickar du på ikonen Kataloger + prenumerationer (katalog med filter) på den översta menyn för att växla till den katalog där du vill registrera programmet.

  3. Sök efter och markera Microsoft Entra ID.

  4. I Hantera väljer du Appregistreringar > Ny registrering.

  5. Som Namn anger du ett namn för programmet.

  6. I avsnittet Kontotyper som stöds väljer du Endast konton i den här organisationskatalogen (enskild klient).

  7. I avsnittet Omdirigerings-URI (valfritt) för Välj en plattform väljer du Offentlig klient/intern (mobil och skrivbord) och anger en omdirigerings-URI. I följande exempel är http://localhostomdirigerings-URI-värdet .

    Register app

  8. Klicka på Registrera.

  9. På programsidans översiktssida i avsnittet Essentials kopierar du följande värden:

    • Program-ID (klient)-ID
    • Katalog-ID (klientorganisation)
    • I Omdirigerings-URI:er omdirigerar den offentliga klienten den URI som du angav tidigare i den här proceduren.

    Azure registered app overview

  10. Lägg till AzureDatabricks i de behörigheter som krävs för det registrerade programmet. Du måste vara administratör för att kunna utföra det här steget. Om du stöter på ett behörighetsrelaterat problem när du utför den här åtgärden kontaktar du administratören för att få hjälp.

    1. På programsidans översiktssida går du till fliken Kom igång och klickar på Visa API-behörigheter.

      Azure registered app settings

    2. Klicka på Lägg till en behörighet.

      Add required permissions to app

    3. I fönstret Api-behörigheter för begäran klickar du på fliken API:er som min organisation använder , söker efter AzureDatabricks och väljer den.

      Add AzureDatabricks API permission

    4. Aktivera kryssrutan user_impersonation och klicka sedan på Lägg till behörigheter.

      Azure app delegated permissions

    5. Klicka på Bevilja administratörsmedgivande för ### och sedan på Ja. Om du vill utföra den här åtgärden måste du vara administratörsanvändare eller ha behörighet att bevilja medgivande till programmet. Om du inte ser Bevilja administratörsmedgivande för ###, eller om du hoppar över den här åtgärden, måste du använda auktoriseringskodflödet (interaktivt) första gången du använder programmet för att ge medgivande. Därefter kan du använda metoden Username-password flow (programmatic).

      Add additional users and groups to app permissions

Du kan lägga till ytterligare användare i programmet. Mer information finns i Tilldela ett användarkonto till ett företagsprogram för Azure Portal-instruktioner eller Tilldela användare och grupper till ett program i Microsoft Entra-ID (tidigare Azure Active Directory) för PowerShell-instruktioner. En användare kommer inte att kunna hämta en token utan nödvändiga behörigheter.

Hämta en Microsoft Entra ID-åtkomsttoken

Om du vill hämta en Microsoft Entra-ID-åtkomsttoken kan du använda antingen:

Du måste använda auktoriseringskodflödet (interaktivt) för att hämta Åtkomsttoken för Microsoft Entra-ID om:

  • Tvåfaktorautentisering är aktiverat i Microsoft Entra-ID.
  • Federerad autentisering är aktiverad i Microsoft Entra-ID.
  • Du beviljas inte medgivande till det registrerade programmet under programregistreringen.

Om du har behörighet att logga in med ett användarnamn och lösenord kan du använda flödet för användarnamn och lösenord (programmatiskt) för att hämta en Microsoft Entra-ID-åtkomsttoken.

Auktoriseringskodflöde (interaktivt)

Det finns två steg för att hämta en Microsoft Entra ID-åtkomsttoken med hjälp av auktoriseringskodflödet.

  1. Begär en auktoriseringskod som startar ett webbläsarfönster och ber om Azure-användarinloggning. Auktoriseringskoden returneras när användaren har loggat in.
  2. Använd auktoriseringskoden för att hämta Åtkomsttoken för Microsoft Entra-ID. Beroende på vilken metod du använder kan en uppdateringstoken också returneras samtidigt och kan användas för att uppdatera Microsoft Entra ID-åtkomsttoken.

En metod för att slutföra dessa två steg är att använda webbläsaren och curl. För att göra detta använder du webbläsaren för att hämta auktoriseringskoden, och sedan använder du auktoriseringskoden och curl för att hämta Åtkomsttoken för Microsoft Entra-ID. Den här metoden tillhandahåller ingen uppdateringstoken.

En annan metod är att använda MSAL Python-biblioteket. För att göra detta kör du ett enda skript som använder webbläsaren för att hämta auktoriseringskoden och sedan använder auktoriseringskoden för att hämta både en åtkomst- och uppdateringstoken.

Båda dessa metoder förutsätter att du redan är inloggad i Azure. Om du inte är inloggad uppmanas du att göra det i webbläsaren.

Hämta Microsoft Entra-ID-token med hjälp av en webbläsare och curl

  1. Samla in följande information:

    Parameter Description
    Klientorganisations-ID Katalog-ID :t (klientorganisation) för det relaterade programmet som registrerats i Microsoft Entra-ID i Konfigurera en app i Azure-portalen.
    Client ID Program-ID :t (klient) för det relaterade programmet som registrerats i Microsoft Entra-ID.
    Omdirigerings-URI Lämpliga omdirigerings-URI:er för det relaterade programmet som registrerats i Microsoft Entra-ID (till exempel http://localhost). Autentiseringssvaren skickas till den här URI:n med auktoriseringskoden inkluderad.
  2. Hämta auktoriseringskoden med hjälp av webbläsaren för att bläddra till följande URL. Ersätt fälten i följande URL-exempel. Observera att URL:en måste skickas som en enda rad. radbrytningar har lagts till i följande URL för läsbarhet. Mer information finns i Begära en auktoriseringskod.

    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>
    

    Ersätta:

    • <tenant-id> med det registrerade programmets klientorganisations-ID.
    • <client-id> med det registrerade programmets klient-ID.
    • <redirect-uri> med det registrerade programmets omdirigerings-URI. Den här URI:n måste vara i URL-kodat format (procentkodat). Till exempel http://localhost är http%3A%2F%2Flocalhost.
    • <state> med ett slumptal eller kodad information. För att kontrollera integriteten för informationsutbytet bör det här tillståndsvärdet matcha det som finns i den returnerade URL:en senare i den här proceduren.

    Ändra inte värdet för parametern scope . Den representerar programmatiskt ID för Azure Databricks (2ff814a6-3304-4ab8-85cb-cd0e6f879c1d) tillsammans med standardomfånget (/.defaultURL-kodad som %2f.default).

    Till exempel:

    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. Klistra in URL:en som en enda rad i webbläsaren och logga in på Azure om du uppmanas att göra det.

    HTTP request URL

  4. Auktoriseringskoden finns i fältet code i den returnerade URL:en. Spara auktoriseringskoden på en säker plats. Kontrollera också att värdet för state fältet matchar det som du angav tidigare i den här proceduren.

    Authorization code URL

    Den fullständiga returnerade URL:en ser ut ungefär så här (med det fullständiga code fältvärdet förkortat till 0.ASkAIj...RxgFhSAA här för korthet):

    http://localhost/?code=0.ASkAIj...RxgFhSAA&state=12345&session_state=c44574d5-38ba-4f93-b2a3-a830db8e8cdf
    
  5. Använd auktoriseringskoden tillsammans med curl för att hämta Åtkomsttoken för 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>'
    

    Ersätta:

    • <tenant-id> med det registrerade programmets klientorganisations-ID.
    • <client-id> med det registrerade programmets klient-ID.
    • <authorization-code> med din auktoriseringskod.
    • <redirect-uri> med det registrerade programmets omdirigerings-URI. Den här URI:n måste vara i URL-kodat format (procentslutsformat). Till exempel http://localhost är http%3A%2F%2Flocalhost.
    • <state> med ett slumptal eller kodad information. För att kontrollera integriteten för informationsutbytet bör det här tillståndsvärdet matcha det som finns i svarsnyttolasten senare i den här proceduren.

    Ändra inte värdet för parametern scope . Den representerar programmatiskt ID för Azure Databricks (2ff814a6-3304-4ab8-85cb-cd0e6f879c1d) tillsammans med standardomfånget (/.defaultURL-kodad som %2f.default).

    Till exempel:

    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'
    

    Microsoft Entra-ID-token finns i värdet i access_token resultatet av anropet. Kontrollera att värdet state matchar det som du angav tidigare i den här proceduren.

Hämta Microsoft Entra-ID-token med hjälp av MSAL Python-biblioteket

  1. Samla in följande information:

    Parameter Description
    Klientorganisations-ID Katalog-ID :t (klientorganisation) för det relaterade programmet som registrerats i Microsoft Entra-ID i Konfigurera en app i Azure-portalen.
    Client ID Program-ID :t (klient) för det relaterade programmet som registrerats i Microsoft Entra-ID.

    Den här proceduren förutsätter att du har angett http://localhost som omdirigerings-URI för det relaterade programmet som registrerats i Microsoft Entra-ID.

  2. Installera MSAL Python SDK på din lokala dator genom att köra pip install msal.

  3. Spara följande kod som get-tokens.py på den lokala datorn.

    # 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. Gör något av följande:

    • I föregående kod ersätter du <client-id> med det registrerade programmets klient-ID och <tenant-id> med det registrerade programmets klient-ID och kör sedan skriptet, till exempel python get-tokens.py.
    • Ange det registrerade programmets klient-ID och det registrerade programmets klient-ID när du kör skriptet, till exempel python get-tokens.py 12a34b56-789c-0d12-e3fa-b456789c0123 a1bc2d34-5e67-8f89-01ab-c2345d6c78de.
  5. Om webbläsaren uppmanar dig loggar du in på Azure.

  6. Åtkomst- och uppdateringstoken för Microsoft Entra-ID skrivs ut i utdata.

Användarnamn-lösenordsflöde (programmatiskt)

  1. Om du har behörighet att logga in med ett användarnamn och lösenord samlar du in följande information:

    Parameter Description
    Klientorganisations-ID Katalog-ID :t (klientorganisation) för det relaterade programmet som registrerats i Microsoft Entra-ID i Konfigurera en app i Azure-portalen.
    Client ID Program-ID :t (klient) för det verkliga programmet som registrerats i Microsoft Entra-ID.
    Användarnamn och lösenord Användarnamnet (dvs. e-postadressen när du loggar in på Azure-portalen) och lösenordet för användaren i klientorganisationen.

    Den här proceduren förutsätter att du har angett http://localhost som omdirigerings-URI för det relaterade programmet som registrerats i Microsoft Entra-ID.

  2. Installera MSAL Python SDK på din lokala dator genom att köra pip install msal.

  3. Spara följande kod som get-tokens-for-user.py på den lokala datorn.

    # 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. Gör något av följande:

    • I föregående kod ersätter du <client-id> med det registrerade programmets klient-ID, <tenant-id> med det registrerade programmets klient-ID, <username> med användarnamnet och <password> med lösenordet och kör sedan skriptet, till exempel python get-tokens-for-user.py.
    • Ange det registrerade programmets klient-ID, det registrerade programmets klient-ID, användarnamnet och lösenordet när du kör skriptet, till exempel python get-tokens-for-user.py 12a34b56-789c-0d12-e3fa-b456789c0123 a1bc2d34-5e67-8f89-01ab-c2345d6c78de someone@example.com "MyPa55w&rd!". Om ett kommandoradsargument innehåller specialtecken bör du omge det med citattecken.
  5. Åtkomst- och uppdateringstoken för Microsoft Entra-ID skrivs ut till din terminal.

Använda en Microsoft Entra ID-åtkomsttoken för att komma åt Databricks REST API

I det här avsnittet beskrivs hur du använder en Microsoft Entra ID-åtkomsttoken för att anropa Databricks REST API. I följande exempel ersätter du <access-token> med Microsoft Entra ID-åtkomsttoken och <databricks-instance> med URL:en per arbetsyta för din Azure Databricks-distribution.

Python-exempel

Det här exemplet visar hur du listar klustren på en Azure Databricks-arbetsyta.

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))

Kommentar

Om du är en icke-administratörsanvändare och vill logga in som administratörsanvändare måste du ange X-Databricks-Azure-Workspace-Resource-Id huvudet utöver 'Authorization' : 'Bearer ' rubriken och du måste ha rollen Deltagare eller Ägare på arbetsyteresursen i Azure. Du skapar värdet på X-Databricks-Azure-Workspace-Resource-Id följande sätt:

# ...

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
  }

# ...

Information om prenumeration, resurs och arbetsyta i Azure finns i Öppna resurser. Om du vill öppna målresursen kan du söka efter Azure Databricks-tjänsttypen och annan information i Azure som du känner till om Azure Databricks-målarbetsytan.

curl Exempel

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

Uppdatera en Microsoft Entra ID-åtkomsttoken

Om du får en uppdateringstoken tillsammans med din Åtkomsttoken för Microsoft Entra-ID kan du använda uppdateringstoken för att hämta en ny token. Som standard är livslängden för Microsoft Entra ID-åtkomsttoken en slumpmässig tidsperiod mellan 60 och 90 minuter (i genomsnitt 75 minuter). Du kan konfigurera livslängden för Microsoft Entra ID-åtkomsttoken med hjälp av metoderna i Konfigurerbar tokenlivslängd i Microsoft Entra-ID (tidigare Azure Active Directory).

I följande exempel visas hur du använder MSAL Python-biblioteket tillsammans med en uppdateringstoken för att hämta en ny token.

  1. Spara följande kod som refresh-tokens.py på den lokala datorn.

    # 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. Gör något av följande:

    • I föregående kod ersätter du <client-id> med det registrerade programmets klient-ID, <tenant-id> med det registrerade programmets klient-ID och <refresh-token> med uppdateringstoken och kör sedan skriptet, till exempel python get-tokens-for-user.py.
    • Ange det registrerade programmets klient-ID, det registrerade programmets klient-ID och uppdateringstoken när du kör skriptet, till exempel python refresh-tokens.py 12a34b56-789c-0d12-e3fa-b456789c0123 a1bc2d34-5e67-8f89-01ab-c2345d6c78de "0.ASkAIj...huE84ALg". Om ett kommandoradsargument innehåller specialtecken bör du omge det med citattecken.
  3. De nya Microsoft Entra ID-åtkomst- och uppdateringstoken skrivs ut till terminalen.