arcgis-python-api icon indicating copy to clipboard operation
arcgis-python-api copied to clipboard

arcgis.gis.server.Server Incorrectly States Login Successful When ArcGIS Site URL or Credentials Are Invalid

Open bixb0012 opened this issue 1 year ago • 1 comments

The title mostly covers it. The arcgis.gis.server.Server code basically 'successfully' authenticates anything, invalid URL, invalid username, invalid password. It isn't until one forces a relogin that you see what should be the error message in the first place. 

>>> import arcgis
>>> arcgis.__version__
'2.3.0.3'
>>> from arcgis.gis.server import Server
>>> server = Server("https://bogushost.domain.com", username="bogus", password="foobar")
>>> server._con.is_logged_in
True
>>> server._con.relogin()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\arcgis\gis\_impl\_con\_connection.py", line 1871, in relogin
    return self.token
           ^^^^^^^^^^
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\arcgis\gis\_impl\_con\_connection.py", line 1898, in token
    return self._session.auth.token()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\cachetools\__init__.py", line 737, in wrapper
    v = func(*args, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\arcgis\auth\_auth\_token.py", line 1089, in token
    return self._init_token_auth_handshake()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\cachetools\__init__.py", line 737, in wrapper
    v = func(*args, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\arcgis\auth\_auth\_token.py", line 1204, in _init_token_auth_handshake
    resp = self._session.post(
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\requests\sessions.py", line 637, in post
    return self.request("POST", url, data=data, json=json, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\requests\sessions.py", line 575, in request
    prep = self.prepare_request(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\requests\sessions.py", line 486, in prepare_request
    p.prepare(
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\requests\models.py", line 368, in prepare
    self.prepare_url(url, params)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\requests\models.py", line 439, in prepare_url
    raise MissingSchema(
requests.exceptions.MissingSchema: Invalid URL 'None': No scheme supplied. Perhaps you meant https://None?
>>>

bixb0012 avatar Aug 06 '24 17:08 bixb0012

Logged a defect with Esri Support.

BUG-000170199: Python command arcgis.gis.server.Server incorrectly states login successful with incorrect URL and/or credentials

bixb0012 avatar Aug 26 '24 15:08 bixb0012

Thank you, since this is in support closing to avoid duplicates

nanaeaubry avatar Oct 01 '24 10:10 nanaeaubry