SPNEGO (GSS Negotiate) auth plugin for HTTPie, based on Jakub's httpie-ntlm example.
$ pip install httpie-negotiate
You should now see negotiate
under --auth-type
in $ http --help
output.
You need to have a valid Kerberos principal, run kinit first if necessary.
$ http --auth-type=negotiate --auth : https://example.org
Kerberos mutual authentication is REQUIRED by default and is recommended.
If you strictly require mutual authentication to be OPTIONAL or DISBALED, then you can use the HTTPIE_KERBEROS_MUTUAL
environment variable.
$ HTTPIE_KERBEROS_MUTUAL=OPTIONAL http --auth-type=negotiate --auth : https://example.org
$ HTTPIE_KERBEORS_MUTUAL=DISABLED http --auth-type=negotiate --auth : https://example.org
You can also use HTTPie sessions:
# Create session
$ http --session=logged-in --auth-type=negotiate --auth : https://example.org
# Re-use auth
$ http --session=logged-in POST https://example.org hello=world