This script is particularly useful when attempting to use Moonshot authentication with the current implementations of the Openstack Command-line Interface tools that do not fully support GSSAPI (but do support the simplified Kerberos processwhen communicating to a REST-API server (such as current OpenStack).
This negotiate_client.py Python 2 script performs the client-side of an HTTP Negotiate (aka. GSS-API for HTTP) authentication. Its purpose is similar to curl, in the sense that it everything goes well (the user is authenticated and the resour, it dumps the targeted resource data (e.g. HTML web page, JSON document, etc). It will be extended in the future to support sending data to the server as well.
In addition to a small set of standard Python libraries, this script needs the python-gssapi to perform its functionality. You must install it first.
usage: negotiate_client.py [-h] [-i ITERATIONS] [-d DELAY] [-w WAIT] [-v] url positional arguments: url The url of the protected resource (including the http:// or https://). optional arguments: -h, --help show this help message and exit -i ITERATIONS, --iterations ITERATIONS The number of times the script will request the resource. For stress tests. -d DELAY, --delay DELAY The delay between different requests within the same iteration. -w WAIT, --wait WAIT The delay between different iterations. -v, --verbose Show sent/received GSS API tokens.