ansys / pyhps

A Python client for Ansys HPC Platform Services (HPS)
https://hps.docs.pyansys.com/
MIT License
0 stars 0 forks source link

How to get an access token #417

Closed germa89 closed 2 months ago

germa89 commented 2 months ago

I am trying to get a token given an user and a password. My code is:

from ansys.hps.client import Client, AuthApi
from ansys.hps.client.connection import create_session
from ansys.hps.client.authenticate import authenticate

url = "https://10.231.106.32:3000/hps"
user = "repuser"
password = "repuser"

access_token = authenticate(
    url,
    username=user,
    password=password,
    scope="openid",
    verify=False
    )["access_token"]

client = Client(access_token=access_token, verify=False)

auth_api = AuthApi(client)
users = auth_api.get_users(username="repadmin", exact=False)
print(users)

But for some reason, I keep getting an error at line users = auth_api.get_users(username="repadmin", exact=False):


/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py:1103: InsecureRequestWarning: Unverified HTTPS request is being made to host '10.231.106.32'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
  warnings.warn(
Traceback (most recent call last):
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connection.py", line 198, in _new_conn
    sock = connection.create_connection(
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection
    raise err
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/util/connection.py", line 73, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 793, in urlopen
    response = self._make_request(
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 491, in _make_request
    raise new_e
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 467, in _make_request
    self._validate_conn(conn)
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1099, in _validate_conn
    conn.connect()
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connection.py", line 616, in connect
    self.sock = sock = self._new_conn()
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connection.py", line 213, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x103934fd0>: Failed to establish a new connection: [Errno 61] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/requests/adapters.py", line 486, in send
    resp = conn.urlopen(
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 877, in urlopen
    return self.urlopen(
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 877, in urlopen
    return self.urlopen(
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 877, in urlopen
    return self.urlopen(
  [Previous line repeated 2 more times]
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 847, in urlopen
    retries = retries.increment(
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/urllib3/util/retry.py", line 515, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='127.0.0.1', port=8443): Max retries exceeded with url: /hps/auth/admin/realms/rep/users?fields=all&username=repadmin&exact=False (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x103934fd0>: Failed to establish a new connection: [Errno 61] Connection refused'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/german.ayuso/pymapdl/src/ansys/mapdl/core/hpc/test.py", line 20, in <module>
    users = auth_api.get_users(username="repadmin", exact=False)
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/ansys/hps/client/auth/api/auth_api.py", line 84, in get_users
    r = self.client.session.get(url=f"{self.realm_url}/users", params=query_params)
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/requests/sessions.py", line 602, in get
    return self.request("GET", url, **kwargs)
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/Users/german.ayuso/pymapdl/.venv/lib/python3.10/site-packages/requests/adapters.py", line 519, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='127.0.0.1', port=8443): Max retries exceeded with url: /hps/auth/admin/realms/rep/users?fields=all&username=repadmin&exact=False (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x103934fd0>: Failed to establish a new connection: [Errno 61] Connection refused'))
germa89 commented 2 months ago

Fixed. I was missing the url argument when instantiating the client object. #VeryStupidMistake

Error message wasn't very explicative though.