Developer

 View Only
last person joined: 2 days ago 

Expand all | Collapse all

Assistance in automating token creation and renewal?

This thread has been viewed 12 times
  • 1.  Assistance in automating token creation and renewal?

    Posted 15 days ago

    We are getting started with using the api to do some automation, but we're having issues with the token acquisition process.  I have a client ID (personal and system) and can make an access token in the web UI, then copy and paste it into my code and execute functions, but when I go to request the initial token or renew it I get an error "invalid client_ID".  I have to guess I have a syntax problem, but I have tried it using REST in PowerShell and using pycentral and I'm seeing the same thing.  I am pretty sure my API App is fine because, like I said, I can download and use an access token from the web GUI, but if I try to automate that it fails.  Below is some sample code to show what I'm doing, so if anything jumps out that I'm doing wrong I would appreciate any feedback.

    PowerShell

    $CLIENT_ID="#######################"
    $BASE_URL="apigw-uswest4.central.arubanetworks.com"
    $API_URI="https://"+$BASE_URL+"/oauth2/authorize/central/api/login?client_id="+$CLIENT_ID
    $headers = @{
        "accept" = "application/json"
    }
    $body = @{
        "username" = "#########@###.com"
        "password" = "#################"
    } | convertto-json
    Invoke-RestMethod -Method POST -ContentType 'application/json' -Headers $headers -Body $body -uri $API_URI
    
    Invoke-RestMethod : {"extra":null,"message":"Invalid client ID"}


    Python

    >>> from pycentral.base import ArubaCentralBase
    >>> from pprint import pprint
    >>> central_info = {
    ...     "username": "#######@#####.com",
    ...     "password": "#################",
    ...     "client_id": "#################",
    ...     "client_secret": "#################",
    ...     "customer_id": "################",
    ...     "base_url": "https://app1-apigw.central.arubanetworks.com"
    ... }
    >>> ssl_verify = True
    >>> central = ArubaCentralBase(central_info=central_info, token_store=None, ssl_verify=ssl_verify)
    2024-09-27 08:01:52 - ARUBA_BASE - ERROR - Unable to load token from storage with error .. [Errno 2] No such file or directory: 'C:\\Working\\Python.ArubaCentral\\temp\\tok_800aaf4c826e446897a88f0d70845122_jtmgv3wP9f0RWeZS9j0uAZH6J2aK76Vf.json'
    2024-09-27 08:01:52 - ARUBA_BASE - INFO - Attempting to create new token from Aruba Central
    2024-09-27 08:01:53 - ARUBA_BASE - ERROR - OAUTH2.0 Step1 login API call failed with response {'code': 400, 'msg': '{"extra":null,"message":"Invalid client ID"}\n'}


  • 2.  RE: Assistance in automating token creation and renewal?

    Posted 15 days ago

    Hi @joseph.gullo.pcci! Just wanted to verify you're following these instructions for retrieving the Client ID & Secret: 

    https://developer.arubanetworks.com/hpe-aruba-networking-central/docs/api-gateway-creating-application-token

    Also I noticed between the two examples you're using two different API gateways, in the first it's 

    apigw-uswest4.central.arubanetworks.com

    and in the second it's

    app1-apigw.central.arubanetworks.com

    Which cluster are you using?



    ------------------------------
    Ti Chiapuzio-Wong (they/them)
    HPE Aruba Networking
    ------------------------------



  • 3.  RE: Assistance in automating token creation and renewal?

    Posted 15 days ago

    That was the clue I needed, I didn't realize the clusters weren't shared and that our account only exists on one, Thank you!




  • 4.  RE: Assistance in automating token creation and renewal?

    Posted 15 days ago

    Of course! Glad it was a simple fix! Happy automating!! :)



    ------------------------------
    Ti Chiapuzio-Wong (they/them)
    HPE Aruba Networking
    ------------------------------