Hello Mike,
you were perfectly right.
When I add the Content-Type header, I can fetch the token via Python:
#################################################################
response = requests.post(api_url, data="" headers={"Content-Type":"application/x-www-form-urlencoded"})
#################################################################
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org
Thanks for your quick help.
Michael
Gesendet: Dienstag, 04. Januar 2022 um 11:03 Uhr
Von: "Mike Jumper" <mjum...@apache.org>
An: user@guacamole.apache.org
Betreff: Re: Fetch API-token not working in 1.4.0
Von: "Mike Jumper" <mjum...@apache.org>
An: user@guacamole.apache.org
Betreff: Re: Fetch API-token not working in 1.4.0
On Tue, Jan 4, 2022, 01:36 michael böhm <k...@gmx.net> wrote:
Hello everyoneI upgraded to 1.4.0 and since then I cannot fetch the API token using this example Python code:#######################################################!/usr/bin/python3import sys
import json
import requests
import osguac_host = "127.0.0.1"
guac_port = "8080"
guac_api_base = "http://{}:{}/guacamole/api/".format(guac_host, guac_port)
guac_username = "guacadmin"
guac_password = "***PASSWORD***"os.environ['NO_PROXY'] = '127.0.0.1'def get_guac_api_token(guac_username, guac_password):
api_url = "{0}tokens".format(guac_api_base)
text_body = "username={0}&password={1}".format(guac_username, guac_password)
response = requests.post(api_url, data="">if not response.status_code == 200:
print(response.status_code)
print(response.content)
print("Error acquiring guacamole api-token. Aborting")
return(None)json_response = response.content.decode()
json_response = json.loads(json_response)
return json_response["authToken"]api_token = get_guac_api_token(guac_username, guac_password)if api_token is None:
exit(1)######################################################Output is:500
b'{"message":"Unexpected internal error","translatableMessage":{"key":"APP.TEXT_UNTRANSLATED","variables":{"MESSAGE":"Unexpected internal error"}},"statusCode":null,"expected":null,"type":"INTERNAL_ERROR"}'
Error acquiring guacamole api-token. AbortingHas there anything changed from 1.3.0 where everything is working fine?Not directly, but a number of dependencies were upgraded, including Jersey. It's possible the newer Jersey is more strict in its request handling.If you can throw up a packet capture to see the actual content of the request, I would compare that against the request sent by the browser during login to see where the difference lies.My guess is that you are missing a header in the Python code, presumably "Content-Type: application/x-www-form-urlencoded".- Mike
- Fetch API-token not working in 1.4.0 michael böhm
- Re: Fetch API-token not working in 1.4.0 Mike Jumper
- Aw: Re: Fetch API-token not working in 1.4.0 michael böhm