Metadata-Version: 2.1
Name: invenio-oauthclient
Version: 2.0.0.dev0
Summary: Invenio module that provides OAuth web authorization support.
Home-page: https://github.com/inveniosoftware/invenio-oauthclient
Author: CERN
Author-email: info@inveniosoftware.org
License: MIT
Keywords: invenio oauth authentication
Platform: any
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Development Status :: 5 - Production/Stable
Requires-Dist: blinker (>=1.4)
Requires-Dist: Flask-OAuthlib (>=0.9.6)
Requires-Dist: invenio-accounts (>=2.0.0.dev2)
Requires-Dist: invenio-base (>=1.2.5)
Requires-Dist: invenio-i18n (>=1.3.1)
Requires-Dist: invenio-mail (>=1.0.2)
Requires-Dist: invenio-theme (>=1.3.12)
Requires-Dist: oauthlib (<3.0.0,>=1.1.2)
Requires-Dist: requests-oauthlib (<1.2.0,>=0.6.2)
Requires-Dist: uritools (>=1.0.1)
Provides-Extra: admin
Requires-Dist: invenio-admin (>=1.0.0) ; extra == 'admin'
Provides-Extra: all
Requires-Dist: invenio-admin (>=1.0.0) ; extra == 'all'
Requires-Dist: Sphinx (>=4.2.0) ; extra == 'all'
Requires-Dist: github3.py (>=1.0.0a4) ; extra == 'all'
Requires-Dist: uritemplate.py (<2.0,>=0.2.0) ; extra == 'all'
Requires-Dist: httpretty (>=0.8.14) ; extra == 'all'
Requires-Dist: invenio-userprofiles (>=1.0.0) ; extra == 'all'
Requires-Dist: mock (>=1.3.0) ; extra == 'all'
Requires-Dist: oauthlib (<3.0.0,>=1.1.2) ; extra == 'all'
Requires-Dist: pytest-invenio (>=1.4.2) ; extra == 'all'
Requires-Dist: requests-oauthlib (<1.2.0,>=0.6.2) ; extra == 'all'
Requires-Dist: simplejson (>=3.8) ; extra == 'all'
Provides-Extra: docs
Requires-Dist: Sphinx (>=4.2.0) ; extra == 'docs'
Provides-Extra: github
Requires-Dist: github3.py (>=1.0.0a4) ; extra == 'github'
Requires-Dist: uritemplate.py (<2.0,>=0.2.0) ; extra == 'github'
Provides-Extra: mysql
Requires-Dist: invenio-db[mysql,versioning] (>=1.0.11) ; extra == 'mysql'
Provides-Extra: orcid
Provides-Extra: postgresql
Requires-Dist: invenio-db[postgresql,versioning] (>=1.0.11) ; extra == 'postgresql'
Provides-Extra: sqlite
Requires-Dist: invenio-db[versioning] (>=1.0.11) ; extra == 'sqlite'
Provides-Extra: tests
Requires-Dist: httpretty (>=0.8.14) ; extra == 'tests'
Requires-Dist: invenio-userprofiles (>=1.0.0) ; extra == 'tests'
Requires-Dist: mock (>=1.3.0) ; extra == 'tests'
Requires-Dist: oauthlib (<3.0.0,>=1.1.2) ; extra == 'tests'
Requires-Dist: pytest-invenio (>=1.4.2) ; extra == 'tests'
Requires-Dist: requests-oauthlib (<1.2.0,>=0.6.2) ; extra == 'tests'
Requires-Dist: simplejson (>=3.8) ; extra == 'tests'

..
    This file is part of Invenio.
    Copyright (C) 2015-2018 CERN.

    Invenio is free software; you can redistribute it and/or modify it
    under the terms of the MIT License; see LICENSE file for more details.

=====================
 Invenio-OAuthClient
=====================

.. image:: https://img.shields.io/github/license/inveniosoftware/invenio-oauthclient.svg
        :target: https://github.com/inveniosoftware/invenio-oauthclient/blob/master/LICENSE

.. image:: https://github.com/inveniosoftware/invenio-oauthclient/workflows/CI/badge.svg
        :target: https://github.com/inveniosoftware/invenio-oauthclient/actions

.. image:: https://img.shields.io/coveralls/inveniosoftware/invenio-oauthclient.svg
        :target: https://coveralls.io/r/inveniosoftware/invenio-oauthclient

.. image:: https://img.shields.io/pypi/v/invenio-oauthclient.svg
        :target: https://pypi.org/pypi/invenio-oauthclient


Invenio module that provides OAuth web authorization support.

OAuth client support is typically used to allow features such as social login
(e.g. Sign in with Twitter) and access to resources owned by a specific user
at a remote service. Both OAuth 1.0 and OAuth 2.0 are supported.

Features:

- Views: OAuth login and authorized endpoints, linked account settings and
  sign-up handling.
- Client: A client to interact with remote applications.
- Contrib: Ready-to-use GitHub, ORCID, and CERN remote applications.
- Models: Persistence layer for OAuth access tokens including support for
  storing extra data together with a token.
- Handlers: Customizable handlers for deciding what happens when a user
  authorizes a request.

Further documentation is available on
https://invenio-oauthclient.readthedocs.io/


..
    This file is part of Invenio.
    Copyright (C) 2015-2021 CERN.

    Invenio is free software; you can redistribute it and/or modify it
    under the terms of the MIT License; see LICENSE file for more details.

Changes
=======

Version 1.6.0 (released TBD)

- Moved UserIdentity to Invenio-Accounts.

Version 1.5.4 (released 2021-10-18)

- Add OpenAIRE AAI contrib.

Version 1.5.3 (released 2021-10-18)

- Unpin Flask.

Version 1.5.2 (released 2021-07-12)

- Add german translations

Version 1.5.1 (released 2021-05-26)

- Allow to automatically redirect to the external login provider under
  certain conditions.
- Disable the possibility to disconnect the last external account to
  always have at least one external account connected (when configured).
- Make registration form customizable to allow adding extra form fields
  when the user login the first time.
- CERN contribs: fix bug that will execute login/logout signal for CERN
  contribs even if the user logged in a different way.

Version 1.5.0 (released 2021-05-07)

- Keycloak: refactor settings helper to allow multiple instances of
  configured keycloak authentication providers at the same time
- OAuth: create a new settings helper to set up in an easier way a OAuth
  authentication provider.

Version 1.4.4 (released 2021-02-05)

- CERN OpenID: make /userinfo endpoint and JWT token decode parameters
  configurable

Version 1.4.3 (released 2021-02-05)

- REST auth: add exception logger

Version 1.4.2 (released 2021-01-15)

- Add Keycloak contrib.

Version 1.4.1 (released 2021-01-04)

- Use `invenio-theme` THEME_ICONS config
- Fix disconnect button styling

Version 1.4.0 (released 2020-12-09)

- Use centrally managed test dependencies.
- Add CERN OpenID contrib.
- Migrate CI to GitHub Actions.
- Several UI styling fixes.

Version 1.4.0a1 (released 2020-06-22)

- Integrates Semantic-UI templates.

Version 1.3.1 (released 2020-06-03)

- Exports rest handlers.

Version 1.3.0 (released 2020-05-15)

- Introduce `InvenioOAuthClientREST` extension.
- The module can be used as a full REST OAuth service. For example, from
  an SPA application. All responses are being handled by redirecting to
  user's configured endpoints.
- The new configuration variable `OAUTHCLIENT_REST_REMOTE_APPS` defines the
  registered applications that are using the REST OAuth workflow.

Version 1.2.1 (released 2020-04-17)

- Fix args from redirect target' encoding

Version 1.2.0 (released 2020-03-13)

- Centrally manage Flask dependency by invenio-base
- Drop support for Python 2.7

Version 1.1.3 (released 2019-07-29)

- Remove deprecated warnings from 3rd party modules
- Fix setup file extension
- Fix missing args from redirect target

Version 1.1.2 (released 2019-02-01)

- CERN OAuth: fix logout url

Version 1.1.1 (released 2019-01-22)

- CERN OAuth: filter authentication by IdentityClass
- Pin oauthlib lower than 3.0

Version 1.1.0 (released 2018-12-14)

Version 1.0.0 (released 2018-03-23)

- Initial public release.


