[Python] Azure Active Directory Error. The access token is from the wrong issuer

Discussão em 'Python' iniciado por Stack, Fevereiro 10, 2025.

  1. Stack

    Stack Membro Participativo

    I am trying to call a Azure ARM Rest API to create a resource group. I am passing tenant_id, client_id and client_secret to get the access token which will be later used as authorization header. My code is like below. The application ID is the client ID off the application and application secret is the key which is generated after selecting the time duration.

    import adal
    import requests
    token_response = adal.acquire_token_with_client_credentials(
    'https://login.microsoftonline.com/' + '<tenantId>',
    '<ApplicationId>',
    '<Application Secret>'
    )
    access_token = token_response.get('accessToken')

    endpoint = 'https://management.azure.com/subscriptions/xxxx/resourcegroups/resourcename?api-version=2015-01-01'

    headers = {"Authorization": 'Bearer ' + access_token}
    json_output = requests.put(endpoint,headers=headers).json()
    print json_output


    But this is throwing me an error as below

    {u'error': {u'message': u"The access token is from the wrong issuer 'https://sts
    .windows.net/xxx/'. It must match the tenant 'h
    ttps://sts.windows.net/xxx/' associated with th
    is subscription. Please use the authority (URL) 'https://login.windows.net/xxx' to get the token. Note, if the subscription is
    transferred to another tenant there is no impact to the services, but informatio
    n about new tenant could take time to propagate (up to an hour). If you just tra
    nsferred your subscription and see this error message, please try back later.",
    u'code': u'InvalidAuthenticationTokenTenant'}}


    What does this error mean and am I passing the right credentials. If I use the credentials mentioned in the error, I get another error which says application with mentioned client_id not found.

    Continue reading...

Compartilhe esta Página