Metadata-Version: 2.4
Name: wristband-fastapi-auth
Version: 0.3.0
Summary: SDK for integrating your Python FastAPI application with Wristband. Handles user authentication and token management.
Author-email: Wristband <support@wristband.dev>
License-Expression: MIT
Project-URL: Homepage, https://wristband.dev
Project-URL: Repository, https://github.com/wristband-dev/fastapi-auth
Project-URL: Documentation, https://docs.wristband.dev
Keywords: api,auth,authentication,authorization,fastapi,jwt,multi-tenant,multi-tenancy,oauth,oidc,sdk,secure,security,wristband
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Security
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: FastAPI
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography<45.0.0,>=44.0.3
Requires-Dist: fastapi>=0.100.0
Requires-Dist: httpx>=0.24.0
Provides-Extra: dev
Requires-Dist: setuptools>=61; extra == "dev"
Requires-Dist: pytest<9.0.0,>=8.2.0; extra == "dev"
Requires-Dist: pytest-cov<6.0.0,>=5.0.0; extra == "dev"
Requires-Dist: pytest-httpx>=0.21.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: mypy>=1.10.0; extra == "dev"
Requires-Dist: types-jsonschema; extra == "dev"
Requires-Dist: flake8<7.0.0,>=6.0.0; extra == "dev"
Requires-Dist: flake8-pyproject>=1.2.0; extra == "dev"
Requires-Dist: pip-audit>=2.0.0; extra == "dev"
Requires-Dist: bandit>=1.7.0; extra == "dev"
Requires-Dist: build>=0.10.0; extra == "dev"
Requires-Dist: twine>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Dynamic: license-file

# Wristband Multi-Tenant Authentication SDK for Python FastAPI

Wristband provides enterprise-ready auth that is secure by default, truly multi-tenant, and ungated for small businesses.

- Website: [Wristband Website](https://wristband.dev)
- Documentation: [Wristband Docs](https://docs.wristband.dev/)

For detailed setup instructions and usage guidelines, visit the project's GitHub repository.

- [FastAPI Auth SDK - GitHub](https://github.com/wristband-dev/fastapi-auth)


## Details

This SDK facilitates seamless interaction with Wristband for user authentication within multi-tenant FastAPI applications. It follows OAuth 2.1 and OpenID standards and is supported for Python 3.11+. Key functionalities encompass the following:

- Initiating a login request by redirecting to Wristband.
- Receiving callback requests from Wristband to complete a login request.
- Retrieving all necessary JWT tokens and userinfo to start an application session.
- Logging out a user from the application by revoking refresh tokens and redirecting to Wristband.
- Checking for expired access tokens and refreshing them automatically, if necessary.

You can learn more about how authentication works in Wristband in our documentation:

- [Backend Server Auth Integration](https://docs.wristband.dev/docs/backend-server-integration)
- [Login Workflow In Depth](https://docs.wristband.dev/docs/login-workflow)

## Questions

Reach out to the Wristband team at <support@wristband.dev> for any questions regarding this SDK.
