# httpx-negotiate-sspi
[![image](https://badge.fury.io/py/httpx-negotiate-sspi.svg)](https://badge.fury.io/py/httpx-negotiate-sspi)
This is a port of
[requests-negotiate-sspi](https://github.com/brandond/requests-negotiate-sspi)
for [httpx](https://github.com/encode/httpx).
The implmentation stays close to the original, in an attempt to make any fixes
or updates more straighforward.
The following is taken from the README of the original package with changes to
reflect httpx.
---
An implementation of HTTP Negotiate authentication for Requests. This
module provides single-sign-on using Kerberos or NTLM using the Windows
SSPI interface.
This module supports Extended Protection for Authentication (aka Channel
Binding Hash), which makes it usable for services that require it,
including Active Directory Federation Services.
## Usage
```python
import httpx
from httpx_negotiate_sspi import HttpSspiAuth
r = httpx.get('https://iis.contoso.com', auth=HttpSspiAuth())
```
## Options
- `username`: Username.
Default: None
- `password`: Password.
Default: None
- `domain`: NT Domain name.
Default: '.' for local account.
- `service`: Kerberos Service type for remote Service Principal
Name.
Default: 'HTTP'
- `host`: Host name for Service Principal Name.
Default: Extracted from request URI
- `delegate`: Indicates that the user's credentials are to be delegated to the server.
Default: False
If username and password are not specified, the user's default
credentials are used. This allows for single-sign-on to domain resources
if the user is currently logged on with a domain account.
Raw data
{
"_id": null,
"home_page": "https://github.com/rob-blackbourn/httpx-negotiate-sspi",
"name": "httpx-negotiate-sspi",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Rob Blackbourn",
"author_email": "rob.blackbourn@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/7f/67/99d38ec524669470909e7a58013367023bdb79a0781a76c013bcdec7ad04/httpx_negotiate_sspi-0.27.0.tar.gz",
"platform": null,
"description": "# httpx-negotiate-sspi\n\n[![image](https://badge.fury.io/py/httpx-negotiate-sspi.svg)](https://badge.fury.io/py/httpx-negotiate-sspi)\n\nThis is a port of\n[requests-negotiate-sspi](https://github.com/brandond/requests-negotiate-sspi)\nfor [httpx](https://github.com/encode/httpx).\n\nThe implmentation stays close to the original, in an attempt to make any fixes\nor updates more straighforward.\n\nThe following is taken from the README of the original package with changes to\nreflect httpx.\n\n---\n\nAn implementation of HTTP Negotiate authentication for Requests. This\nmodule provides single-sign-on using Kerberos or NTLM using the Windows\nSSPI interface.\n\nThis module supports Extended Protection for Authentication (aka Channel\nBinding Hash), which makes it usable for services that require it,\nincluding Active Directory Federation Services.\n\n## Usage\n\n```python\nimport httpx\nfrom httpx_negotiate_sspi import HttpSspiAuth\n\nr = httpx.get('https://iis.contoso.com', auth=HttpSspiAuth())\n```\n\n## Options\n\n - `username`: Username. \n Default: None\n\n - `password`: Password. \n Default: None\n\n - `domain`: NT Domain name. \n Default: '.' for local account.\n\n - `service`: Kerberos Service type for remote Service Principal\n Name. \n Default: 'HTTP'\n\n - `host`: Host name for Service Principal Name. \n Default: Extracted from request URI\n\n - `delegate`: Indicates that the user's credentials are to be delegated to the server.\n Default: False\n\n\nIf username and password are not specified, the user's default\ncredentials are used. This allows for single-sign-on to domain resources\nif the user is currently logged on with a domain account.",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "SSPI authentication for httpx",
"version": "0.27.0",
"project_urls": {
"Homepage": "https://github.com/rob-blackbourn/httpx-negotiate-sspi",
"Repository": "https://github.com/rob-blackbourn/httpx-negotiate-sspi"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "22726c24f5b386ac16231c4368a27aee09df61228054d9c92d4c3b48d84ad014",
"md5": "c82f313e2f0eacb765646a3fea4d411f",
"sha256": "49a86f5bacd7377186a60902afc7775c6d608b941c99f3de148272b8cd389d75"
},
"downloads": -1,
"filename": "httpx_negotiate_sspi-0.27.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c82f313e2f0eacb765646a3fea4d411f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 5208,
"upload_time": "2024-02-23T07:49:40",
"upload_time_iso_8601": "2024-02-23T07:49:40.991761Z",
"url": "https://files.pythonhosted.org/packages/22/72/6c24f5b386ac16231c4368a27aee09df61228054d9c92d4c3b48d84ad014/httpx_negotiate_sspi-0.27.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7f6799d38ec524669470909e7a58013367023bdb79a0781a76c013bcdec7ad04",
"md5": "014ec2caa71165580ad31a5ef20f5c35",
"sha256": "34f5f778c132a1294badc541aeb950a48adf0a1e17001a3a42d4bd5093ecb6a6"
},
"downloads": -1,
"filename": "httpx_negotiate_sspi-0.27.0.tar.gz",
"has_sig": false,
"md5_digest": "014ec2caa71165580ad31a5ef20f5c35",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 4878,
"upload_time": "2024-02-23T07:49:42",
"upload_time_iso_8601": "2024-02-23T07:49:42.865220Z",
"url": "https://files.pythonhosted.org/packages/7f/67/99d38ec524669470909e7a58013367023bdb79a0781a76c013bcdec7ad04/httpx_negotiate_sspi-0.27.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-23 07:49:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rob-blackbourn",
"github_project": "httpx-negotiate-sspi",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "httpx-negotiate-sspi"
}