Metadata-Version: 2.1
Name: swh.auth
Version: 0.8.0
Summary: Software Heritage Authentication Utilities
Home-page: https://forge.softwareheritage.org/source/swh-auth/
Author: Software Heritage developers
Author-email: swh-devel@inria.fr
Project-URL: Bug Reports, https://forge.softwareheritage.org/maniphest
Project-URL: Funding, https://www.softwareheritage.org/donate
Project-URL: Source, https://forge.softwareheritage.org/source/swh-<module>
Project-URL: Documentation, https://docs.softwareheritage.org/devel/swh-<module>/
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.7
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: click
Requires-Dist: python-keycloak>=0.19.0
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; 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-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"

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/
