Skip to content

Commit

Permalink
Merge pull request OCA#282 from OCA/16.0
Browse files Browse the repository at this point in the history
Syncing from upstream OCA/server-auth (16.0)
  • Loading branch information
bt-admin authored Dec 8, 2022
2 parents 2183f67 + 4603f4a commit c8b2c0b
Show file tree
Hide file tree
Showing 24 changed files with 1,063 additions and 2 deletions.
4 changes: 3 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,9 @@ repos:
hooks:
- id: flake8
name: flake8
additional_dependencies: ["flake8-bugbear==21.9.2"]
additional_dependencies:
["flake8-bugbear==21.9.2", "importlib-metadata==4.13.0"]

- repo: https://github.com/OCA/pylint-odoo
rev: 7.0.2
hooks:
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,11 @@ Modules for handling various authentication schemes

[//]: # (addons)

This part will be replaced when running the oca-gen-addons-table script from OCA/maintainer-tools.
Available addons
----------------
addon | version | maintainers | summary
--- | --- | --- | ---
[auth_api_key](auth_api_key/) | 16.0.1.0.0 | | Authenticate http requests from an API key

[//]: # (end addons)

Expand Down
107 changes: 107 additions & 0 deletions auth_api_key/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
============
Auth Api Key
============

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--auth-lightgray.png?logo=github
:target: https://github.com/OCA/server-auth/tree/16.0/auth_api_key
:alt: OCA/server-auth
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-auth-16-0/server-auth-16-0-auth_api_key
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/251/16.0
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

Authenticate http requests from an API key.

API keys are codes passed in (in the http header API-KEY)
by programs calling an API in order to identify -in this case- the calling program's user.

Take care while using this kind of mechanism since information into http headers are visible in clear.
Thus, use it only to authenticate requests from known sources.

For unknown sources, it is a good practice to filter out this header at proxy level.

**Table of contents**

.. contents::
:local:

Configuration
=============

The api key menu is available into Settings > Technical in debug mode.
By default, when you create an API key, the key is saved into the database.

If you want to manage them via serve environment settings use `auth_api_key_server_env`.

Usage
=====

To apply this authentication system to your http request you must set 'api_key'
as value for the 'auth' parameter of your route definition into your controller.

.. code-block:: python
class MyController(Controller):
@route('/my_service', auth='api_key', ...)
def my_service(self, *args, **kwargs):
pass
Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-auth/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-auth/issues/new?body=module:%20auth_api_key%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* ACSONE SA/NV

Contributors
~~~~~~~~~~~~

* Denis Robinet <[email protected]>
* Laurent Mignon <[email protected]>
* Quentin Groulard <[email protected]>
* Sébastien Beau <[email protected]>
* Chafique Delli <[email protected]>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/server-auth <https://github.com/OCA/server-auth/tree/16.0/auth_api_key>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions auth_api_key/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
14 changes: 14 additions & 0 deletions auth_api_key/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright 2018 ACSONE SA/NV
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

{
"name": "Auth Api Key",
"summary": """
Authenticate http requests from an API key""",
"version": "16.0.1.0.0",
"license": "LGPL-3",
"author": "ACSONE SA/NV,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/server-auth",
"development_status": "Beta",
"data": ["security/ir.model.access.csv", "views/auth_api_key.xml"],
}
113 changes: 113 additions & 0 deletions auth_api_key/i18n/auth_api_key.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_api_key
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: auth_api_key
#: model:ir.model,name:auth_api_key.model_auth_api_key
msgid "API Key"
msgstr ""

#. module: auth_api_key
#: model:ir.model.constraint,message:auth_api_key.constraint_auth_api_key_name_uniq
msgid "Api Key name must be unique."
msgstr ""

#. module: auth_api_key
#: model:ir.actions.act_window,name:auth_api_key.auth_api_key_act_window
#: model:ir.ui.menu,name:auth_api_key.auth_api_key_menu
msgid "Auth Api Key"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__create_uid
msgid "Created by"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__create_date
msgid "Created on"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__display_name
msgid "Display Name"
msgstr ""

#. module: auth_api_key
#: model:ir.model,name:auth_api_key.model_ir_http
msgid "HTTP Routing"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__id
msgid "ID"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__key
msgid "Key"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key____last_update
msgid "Last Modified on"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__write_uid
msgid "Last Updated by"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__write_date
msgid "Last Updated on"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__name
msgid "Name"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,help:auth_api_key.field_auth_api_key__key
msgid ""
"The API key. Enter a dummy value in this field if it is\n"
" obtained from the server environment configuration."
msgstr ""

#. module: auth_api_key
#. odoo-python
#: code:addons/auth_api_key/models/auth_api_key.py:0
#, python-format
msgid "The key %s is not allowed"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,help:auth_api_key.field_auth_api_key__user_id
msgid ""
"The user used to process the requests authenticated by\n"
" the api key"
msgstr ""

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__user_id
msgid "User"
msgstr ""

#. module: auth_api_key
#. odoo-python
#: code:addons/auth_api_key/models/auth_api_key.py:0
#, python-format
msgid "User is not allowed"
msgstr ""
123 changes: 123 additions & 0 deletions auth_api_key/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_api_key
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-02-12 10:45+0000\n"
"Last-Translator: Sergio Zanchetta <[email protected]>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"

#. module: auth_api_key
#: model:ir.model,name:auth_api_key.model_auth_api_key
msgid "API Key"
msgstr "Chiave API"

#. module: auth_api_key
#: model:ir.model.constraint,message:auth_api_key.constraint_auth_api_key_name_uniq
msgid "Api Key name must be unique."
msgstr "La chiave API deve essere univoca."

#. module: auth_api_key
#: model:ir.actions.act_window,name:auth_api_key.auth_api_key_act_window
#: model:ir.ui.menu,name:auth_api_key.auth_api_key_menu
msgid "Auth Api Key"
msgstr "Chiave API di autenticazione"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__create_uid
msgid "Created by"
msgstr "Creata da"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__create_date
msgid "Created on"
msgstr "Creata il"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__display_name
msgid "Display Name"
msgstr "Nome visualizzato"

#. module: auth_api_key
#: model:ir.model,name:auth_api_key.model_ir_http
msgid "HTTP Routing"
msgstr "Instradamento HTTP"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__id
msgid "ID"
msgstr "ID"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__key
msgid "Key"
msgstr "Chiave"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key____last_update
msgid "Last Modified on"
msgstr "Ultima modifica il"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__write_uid
msgid "Last Updated by"
msgstr "Ultimo aggiornamento di"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__write_date
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__name
msgid "Name"
msgstr "Nome"

#. module: auth_api_key
#: model:ir.model.fields,help:auth_api_key.field_auth_api_key__key
msgid ""
"The API key. Enter a dummy value in this field if it is\n"
" obtained from the server environment configuration."
msgstr ""
"Chiave API. Se viene acquisita dalla configurazione\n"
" ambiente del server, inserire nel campo un valore fittizio."

#. module: auth_api_key
#. odoo-python
#: code:addons/auth_api_key/models/auth_api_key.py:0
#, python-format
msgid "The key %s is not allowed"
msgstr "Chiave %s non autorizzata"

#. module: auth_api_key
#: model:ir.model.fields,help:auth_api_key.field_auth_api_key__user_id
msgid ""
"The user used to process the requests authenticated by\n"
" the api key"
msgstr ""
"Utente utilizzato per elaborare le richieste autenticate\n"
" dalla chiave API"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__user_id
msgid "User"
msgstr "Utente"

#. module: auth_api_key
#. odoo-python
#: code:addons/auth_api_key/models/auth_api_key.py:0
#, python-format
msgid "User is not allowed"
msgstr "Utente non autorizzato"

#~ msgid "Server Env Defaults"
#~ msgstr "Variabili ambiente predefinite del server"
2 changes: 2 additions & 0 deletions auth_api_key/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import ir_http
from . import auth_api_key
Loading

0 comments on commit c8b2c0b

Please sign in to comment.