Metadata-Version: 2.4
Name: navigator-auth
Version: 0.28.2
Summary: Navigator Auth is an Authentication/Authorization Toolkit for aiohttp.
Author-email: Jesus Lara Gimenez <jesuslarag@gmail.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/phenobarbital/navigator-auth
Project-URL: Source, https://github.com/phenobarbital/navigator-auth
Project-URL: Funding, https://paypal.me/phenobarbital
Project-URL: Tracker, https://github.com/phenobarbital/navigator-auth/issues
Project-URL: Documentation, https://github.com/phenobarbital/navigator-auth
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: POSIX :: Linux
Classifier: Environment :: Web Environment
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: System :: Networking
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Framework :: AsyncIO
Classifier: Framework :: aiohttp
Requires-Python: >=3.10.1
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Cython>=3.1.0
Requires-Dist: PyNaCl>=1.5.0
Requires-Dist: aiohttp>=3.9.5
Requires-Dist: aiohttp-cors==0.8.1
Requires-Dist: PyJWT>=2.10.1
Requires-Dist: pycryptodome>=3.21.0
Requires-Dist: rncryptor>=3.3.0
Requires-Dist: msal<2,>=1.36.0
Requires-Dist: aiogoogle>=5.17.0
Requires-Dist: okta-jwt-verifier>=0.2.5
Requires-Dist: python-slugify>=8.0.1
Requires-Dist: asyncdb>=2.8.0
Requires-Dist: navconfig>=2.2.0
Requires-Dist: navigator-session>=1.1.0
Requires-Dist: navigator-api>=0.5.0
Requires-Dist: pydantic>=2.12.5
Requires-Dist: pysaml2<8,>=7.5
Requires-Dist: lxml>=6.0.2
Requires-Dist: cryptography>=41.0
Provides-Extra: uvloop
Requires-Dist: uvloop>=0.20.0; extra == "uvloop"
Provides-Extra: geoip
Requires-Dist: geoip2>=4.7.0; extra == "geoip"
Dynamic: license-file

# Navigator Auth #

Navigator Auth is an Authentication/Authorization toolkit for aiohttp or Navigator, based on Asyncio.

[![pypi](https://img.shields.io/pypi/v/asyncdb?style=plastic)](https://pypi.org/project/asyncdb/)
[![versions](https://img.shields.io/pypi/pyversions/blacksheep.svg?style=plastic)](https://github.com/phenobarbital/navigator-auth)
[![Apache 2.0 licensed](https://img.shields.io/github/license/phenobarbital/navigator-auth?style=plastic)](https://raw.githubusercontent.com/phenobarbital/navigator-auth/master/LICENSE)


---

## Introduction

* Quick summary
* Version
* [Learn Markdown](https://bitbucket.org/tutorials/markdowndemo)

### Getting Started ###

* Installation
* Configuration
* Dependencies
* Database configuration
* How to run tests
* Deployment instructions

### Requirements ###

* Python >= 3.9
* asyncio (https://pypi.python.org/pypi/asyncio/)
* aiohttp >= 3.8
* Navigator-API >= 2.1

### Authentication Methods ###

Selected via the `X-Auth-Method` header on `POST /api/v1/login` (value =
the backend's class name):

| `X-Auth-Method` | Backend | Notes |
|---|---|---|
| `BasicAuth` | Username/password | |
| `TokenExchangeAuth` | External Token Exchange | Exchange an already-issued Azure/Google/GitHub bearer token for a session without a browser redirect. See the "Token Exchange" documentation page. |
| `AzureAuth` | Microsoft Azure AD / ADFS | |
| `GoogleAuth` | Google | |
| `GithubAuth` | GitHub OAuth2 | |
| `ADFSAuth` | Microsoft ADFS (OIDC) | |
| `OktaAuth` | Okta | |
| `SAMLAuth` | SAML 2.0 Service Provider | Delegates login to an external IdP (Okta, Entra ID, a partner IdP). See the "SAML Authentication" documentation page. |
| `SAMLIdentityProvider` | SAML 2.0 Identity Provider | Issues signed assertions for the current session to registered external SPs (e.g. Verizon Connect); never appears in `X-Auth-Method`/`/api/v1/auth/methods` (`hidden = True`) since it never authenticates a login itself. |
| `Oauth2Provider` | Navigator-as-OAuth2-Authorization-Server | For MCP/AI-agent and 3rd-party client flows. |

### License ###

Navigator_Auth is copyright of Jesus Lara (https://phenobarbital.info) and is under Apache 2 license. I am providing code in this repository under an open source license, remember, this is my personal repository; the license that you receive is from me and not from my employeer.
