Metadata-Version: 2.4
Name: swh.auth
Version: 0.10.1
Summary: Software Heritage authentication utilities
Author-email: Software Heritage developers <swh-devel@inria.fr>
Project-URL: Homepage, https://gitlab.softwareheritage.org/swh/devel/swh-auth
Project-URL: Bug Reports, https://gitlab.softwareheritage.org/swh/devel/swh-auth/-/issues
Project-URL: Funding, https://www.softwareheritage.org/donate
Project-URL: Documentation, https://docs.softwareheritage.org/devel/swh-auth/
Project-URL: Source, https://gitlab.softwareheritage.org/swh/devel/swh-auth.git
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: click
Requires-Dist: python-keycloak>=5.3.1
Requires-Dist: pyyaml
Requires-Dist: swh.core[http]>=0.3
Provides-Extra: django
Requires-Dist: django; extra == "django"
Requires-Dist: djangorestframework; extra == "django"
Requires-Dist: sentry-sdk; extra == "django"
Provides-Extra: starlette
Requires-Dist: starlette; extra == "starlette"
Requires-Dist: httpx; extra == "starlette"
Requires-Dist: aiocache; extra == "starlette"
Provides-Extra: testing
Requires-Dist: django-stubs; extra == "testing"
Requires-Dist: djangorestframework-stubs; extra == "testing"
Requires-Dist: pytest>=8.1; extra == "testing"
Requires-Dist: pytest-django; extra == "testing"
Requires-Dist: pytest-mock; extra == "testing"
Requires-Dist: requests_mock; extra == "testing"
Requires-Dist: swh.core[testing]; extra == "testing"
Requires-Dist: types-click; extra == "testing"
Requires-Dist: types-jwcrypto; extra == "testing"
Requires-Dist: types-pytz; extra == "testing"
Requires-Dist: types-pyyaml; extra == "testing"
Requires-Dist: django; extra == "testing"
Requires-Dist: djangorestframework; extra == "testing"
Requires-Dist: sentry-sdk; extra == "testing"
Requires-Dist: starlette; extra == "testing"
Requires-Dist: httpx; extra == "testing"
Requires-Dist: aiocache; extra == "testing"
Dynamic: license-file

Software Heritage - Authentication
==================================

``swh-auth`` is a set of utility libraries related to user authentication
in applications and services based on the use of `Keycloak`_ and `OpenID Connect`_.

`Keycloak`_ is an open source software enabling single sign-on (SSO) with identity
and access management.

`OpenID Connect`_ (OIDC) is an authentication layer on top of `OAuth 2.0`_, widely
used in modern web applications and services.

``swh-auth`` notably offers the following features:

- the ``swh.auth.keycloak.KeycloakOpenIDConnect`` class to ease the
  interaction with a Keycloak server

- a ``pytest`` plugin with the ``keycloak_oidc`` fixture to mock Keycloak
  responses in unit tests

- generic backends, views and middlewares to easily plug OpenID Connect authentication
  in any `Django`_ or `Django REST framework`_ application


.. _Keycloak: https://www.keycloak.org/

.. _OpenID Connect: https://openid.net/connect/

.. _OAuth 2.0: https://oauth.net/2/

.. _Django: https://www.djangoproject.com/

.. _Django REST framework: https://www.django-rest-framework.org/
