Metadata-Version: 2.2
Name: aiohttp-security
Version: 0.5.0
Summary: security for aiohttp.web
Home-page: https://github.com/aio-libs/aiohttp_security/
Author: Andrew Svetlov
Author-email: andrew.svetlov@gmail.com
License: Apache 2
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
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: Topic :: Internet :: WWW/HTTP
Classifier: Framework :: AsyncIO
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: aiohttp>=3.9
Provides-Extra: session
Requires-Dist: aiohttp-session; extra == "session"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

aiohttp_security
================
.. image:: https://travis-ci.com/aio-libs/aiohttp-security.svg?branch=master
    :target: https://travis-ci.com/aio-libs/aiohttp-security
.. image:: https://codecov.io/github/aio-libs/aiohttp-security/coverage.svg?branch=master
    :target: https://codecov.io/github/aio-libs/aiohttp-security
.. image:: https://readthedocs.org/projects/aiohttp-security/badge/?version=latest
    :target: https://aiohttp-security.readthedocs.io/
.. image:: https://img.shields.io/pypi/v/aiohttp-security.svg
    :target: https://pypi.python.org/pypi/aiohttp-security

The library provides identity and authorization for `aiohttp.web`__.

.. _aiohttp_web: http://aiohttp.readthedocs.org/en/latest/web.html

__ aiohttp_web_

Installation
------------
Simplest case (authorization via cookies) ::

    $ pip install aiohttp_security

With `aiohttp-session` support ::

    $ pip install aiohttp_security[session]

Examples
--------
Take a look at examples:

`Basic example`_

`Example with DB auth`_

.. _`Basic example`: docs/example.rst
.. _`Example with db auth`: docs/example_db_auth.rst

and demos at **demo** directory.

Documentation
-------------

https://aiohttp-security.readthedocs.io/

Develop
-------

``pip install -r requirements-dev.txt``


License
-------

``aiohttp_security`` is offered under the Apache 2 license.

=======
CHANGES
=======

.. towncrier release notes start

0.5.0 (2023-11-18)
==================

- Added type annotations.
- Added a reason message when permission is rejected.
- Switched to ``aiohttp.web.AppKey``.
- Reverted change in ``JWTIdentityPolicy`` so identity returns ``str``.

0.4.0 (2018-09-27)
==================

- Bump minimal supported ``aiohttp`` version to 3.2.
- Use ``request.config_dict`` for accessing ``jinja2`` environment. It
  allows to reuse jinja rendering engine from parent application.

0.3.0 (2018-09-06)
==================

- Deprecate ``login_required`` and ``has_permission`` decorators.
  Use ``check_authorized`` and ``check_permission`` helper functions instead.
- Bump supported ``aiohttp`` version to 3.0+.
- Enable strong warnings mode for test suite, clean-up all deprecation warnings.
- Polish documentation

0.2.0 (2017-11-17)
==================

- Add ``is_anonymous``, ``login_required``, ``has_permission`` helpers. (#114)

0.1.2 (2017-10-17)
==================

- Make aiohttp-session optional dependency. (#107)
