Metadata-Version: 2.1
Name: pyams-auth-jwt
Version: 2.2.1
Summary: PyAMS security plug-in for JWT authentication
Home-page: https://pyams.readthedocs.io
Author: Thierry Florac
Author-email: tflorac@ulthar.net
License: ZPL
Keywords: Pyramid PyAMS
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Framework :: Pyramid
Classifier: Topic :: Software Development :: Libraries :: Python Modules
License-File: LICENSE
Requires-Dist: setuptools
Requires-Dist: BTrees
Requires-Dist: ZODB
Requires-Dist: cornice
Requires-Dist: persistent
Requires-Dist: pyams-security
Requires-Dist: pyams-utils >=1.3.0
Requires-Dist: pyjwt[crypto]
Requires-Dist: pyramid >=2.0.0
Requires-Dist: requests
Requires-Dist: zope.container
Requires-Dist: zope.interface
Requires-Dist: zope.schema
Provides-Extra: test
Requires-Dist: pyams-form ; extra == 'test'
Requires-Dist: pyams-layer ; extra == 'test'
Requires-Dist: pyams-site ; extra == 'test'
Requires-Dist: pyams-skin ; extra == 'test'
Requires-Dist: pyams-viewlet ; extra == 'test'
Requires-Dist: pyams-zmi ; extra == 'test'
Requires-Dist: pyramid-zodbconn ; extra == 'test'

================================
PyAMS JWT authentication package
================================

.. contents::


What is PyAMS?
==============

PyAMS (Pyramid Application Management Suite) is a small suite of packages written for applications
and content management with the Pyramid framework.

**PyAMS** is actually mainly used to manage web sites through content management applications (CMS,
see PyAMS_content package), but many features are generic and can be used inside any kind of web
application.

All PyAMS documentation is available on `ReadTheDocs <https://pyams.readthedocs.io>`_; source code
is available on `Gitlab <https://gitlab.com/pyams>`_ and pushed to `Github
<https://github.com/py-ams>`_.


What is PyAMS JWT authentication package?
=========================================

This package is a plug-in for PyAMS security policy; it allows to generate JWT tokens, and to
extract and validate credentials from a provided JWT token.

You have to include this package in your Pyramid configuration to active this plug-in.


Changelog
=========

2.2.1
-----
 - added support for Python 3.12

2.2.0
-----
 - added support for registered JWT client keys
 - added support for ES256, ES384 and ES512 signature algorithms
 - refactored plugin methods decorators

2.1.0
-----
 - replaced 'jwt_object' view predicate with a view deriver to raise
   HTTP Unauthorized error instead of HTTP NotFound

2.0.4
-----
 - added interface adapter check
 - replace `datetime.utcnow` call with `datime.now(timezone.utc)`

2.0.3
-----
 - updated settings configuration keys

2.0.2
-----
 - updated REST API route name and path configuration setting name

2.0.1
-----
 - updated modal forms title

2.0.0
-----
 - upgraded to Pyramid 2.0

1.4.6
-----
 - interfaces cleanup

1.4.5
-----
 - updated Colander API schemas for better OpenAPI specifications

1.4.4
-----
 - updated PyJWT package dependency to 2.6.0
 - added support for Python 3.11

1.4.3
-----
 - added CORS validators to REST services

1.4.2
-----
 - PyAMS_security interfaces refactoring
 - added support for Python 3.10

1.4.1
-----
 - added expiration date (based on refresh token lifetime) to response when generating tokens

1.4.0
-----
 - added REST API to get token from an already authorized principal
 - updated menus context

1.3.1
-----
 - fixed Gitlab-CI Pylint task

1.3.0
-----
 - removed support for Python < 3.5
 - use Colander schemas in JWT REST API

1.2.3
-----
 - updated Gitlab-CI configuration
 - removed Travis-CI configuration

1.2.2
-----
 - Pylint cleanup

1.2.1
-----
 - updated package requirements

1.2.0
-----
 - added support for "proxy" mode, where JWT tokens management is delegated to another
   authentication authority

1.1.2
-----
 - updated french translation

1.1.1
-----
 - doctest update

1.1.0
-----
 - added refresh tokens management with Cornice REST API
 - added JWT configuration management interface

1.0.2
-----
 - updated package description to allow upload to Pypi!

1.0.1
-----
 - removed upload of coverage data to Coveralls.io because of unknown errors

1.0.0
-----
 - initial release
