skillfed

requests-negotiate-sspi

This package allows for Single-Sign On HTTP Negotiate authentication using the requests library on Windows.

requests-negotiate-sspi v0.5.2 111.4K downloads/30d#12,419 on PyPI141
Permissive license Abandoned released

What it is and what it does

requests-negotiate-sspi extends the requests library to support HTTP Negotiate authentication on Windows, enabling single-sign-on via Kerberos or NTLM using the Windows SSPI interface. It integrates with Active Directory and supports Extended Protection for Authentication (Channel Binding Hash), making it suitable for enterprise environments that require this security feature.

The package is a thin wrapper around Windows authentication mechanisms, designed for developers building HTTP clients that need to authenticate against Windows-protected resources without prompting for credentials. It works by plugging into requests' auth handler system, allowing transparent SSO when the user is already authenticated to the Windows domain.

Use it for:

  • Authenticate HTTP requests to Active Directory Federation Services (ADFS) endpoints using domain credentials.
  • Build Windows service applications that make HTTP calls to internal APIs without storing passwords.
  • Access Kerberos-protected resources on corporate networks using implicit Windows authentication.
  • Implement Channel Binding Hash authentication for services that require Extended Protection for Authentication.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Adds HTTP Negotiate authentication (Kerberos/NTLM single-sign-on) to the requests library using Windows SSPI, with support for Extended Protection for Authentication.

No. The package is abandoned (last release 2018-10-10, last commit 2023-03-31) and targets Python versions up to 3.5. While it has low install friction and permissive licensing, the lack of maintenance means no fixes for modern Python or requests versions, and no support for security issues. Use only if you are locked into legacy Python 2.7 or early Python 3 on Windows; otherwise, evaluate modern alternatives or native requests authentication methods.

Install

requests-negotiate-sspi on PyPI

pip

pip install requests-negotiate-sspi

uv

uv add requests-negotiate-sspi

poetry

poetry add requests-negotiate-sspi

Installing requests-negotiate-sspi

Before you install

Low install friction, but maintenance is abandoned: last release was 2018-10-10 and last commit 2023-03-31. The package depends on pypiwin32 and requests, both common dependencies. No recent updates or bug fixes should be expected.

License in practice

Licensed under Apache Software License (permissive), which allows commercial and private use with minimal restrictions.

Quickstart

pip install requests-negotiate-sspi

import requests
from requests_negotiate_sspi import HttpNegotiateAuth

response = requests.get('http://example.com', auth=HttpNegotiateAuth())

Windows-only: requires pypiwin32 and Windows SSPI support; not usable on Linux or macOS.

Verify before relying

  • Whether the package works reliably with modern Python versions (classifiers list only up to 3.5).
  • Current compatibility with recent requests library versions.
  • Whether Extended Protection for Authentication (Channel Binding) works with current Active Directory Federation Services deployments.

Package facts

License not declared (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — pypiwin32, requests
Maintenance abandoned — 2,865 days since the last release
Last repo commit
First released
Downloads 111,377/month — #12,419 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: requests_negotiate_sspi-0.5.2-py2.py3-none-any.whl

Development Status :: 4 - BetaEnvironment :: Win32 (MS Windows)Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5

Tags

windows negotiate authentication requestskerberos ntlm single sign onhttp negotiate sspiwindows sso http requestsactive directory federation serviceschannel binding authenticationrequests library windows auth
windows-onlyabandonedauthentication

More WWW/HTTP packages