Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[18.0][MIG] auth_api_key: Migration to 18.0 #701

Merged
merged 76 commits into from
Oct 11, 2024
Merged
Show file tree
Hide file tree
Changes from 75 commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
1069a5b
New generic module du define REST services
lmignon Jan 31, 2018
cccbd87
auth_api_key: New module to provide authentication by api_key
lmignon Jan 31, 2018
0fd65cd
auth_api_key: Remove useless code
lmignon Feb 2, 2018
b16d703
Update the auth_api_key for keychan 10.0.2 (renamed method)
RobinetDenisAcsone Feb 19, 2018
84c36af
Fix the authentification method and show the user_id on the form
RobinetDenisAcsone Feb 19, 2018
1fd62ec
refactor code in order to use generic code from base_rest instead of …
sebastienbeau Feb 25, 2018
e036e06
fix wrong name in selection box
sebastienbeau Aug 29, 2018
828f08c
Since keychain 10.0.2.0.1 there is a default validation method
hparfr Oct 17, 2018
bbbd0d6
Keychain removed
qgroulard Nov 6, 2018
a501664
Update Readme with more details
qgroulard Nov 8, 2018
b5c91d0
Quick fix CONFIGURE.rst
qgroulard Nov 8, 2018
750cbc1
Developmet status: Beta
qgroulard Nov 8, 2018
c59dc51
[FIX] auth_api_key: fix api and flake8
lmignon Nov 13, 2018
573ea22
[MIG] server_auth from 10 to 12
sbidoul Nov 20, 2018
2c8648a
auth_api_key: add description to model
sbidoul Nov 20, 2018
c5dc798
[CHG] auth_api_key is LGPL
sbidoul Nov 21, 2018
65420d2
Use consteq to compare keys
ap-wtioit Nov 30, 2018
637ba56
[UPD] README.rst
OCA-git-bot Feb 14, 2019
14ef368
[IMP] ADD possibility to save api keys in database by using server.en…
mourad-ehm Jul 18, 2019
3d54842
[FIX] login_name error
mourad-ehm Jul 18, 2019
4e295fe
[IMP] make auth_api_key compatible in multi-db
sebastienbeau Jul 19, 2019
dc93895
[UPD] README.rst
OCA-git-bot Jul 29, 2019
babd57b
[FIX] auth_api_key: Fix tests according to last changes and add views…
lmignon Sep 20, 2019
864a4b9
[IMP] auth_api_key: Ensures backward compatibility
lmignon Sep 27, 2019
0b610f5
[FIX] auth_api_key: Cache must be cleared if the user_id is modified
lmignon Sep 27, 2019
6183204
[IMP] auth_api_key: Improves key field description
lmignon Sep 27, 2019
a61b1c2
[UPD] README.rst
OCA-git-bot Sep 28, 2019
c0c2951
[IMP] auth_api_key: black, isort
Oct 17, 2019
d9967d3
[MIG] auth_api_key: Migration to 13.0
Oct 17, 2019
2f84603
[UPD] Update auth_api_key.pot
oca-travis Oct 29, 2019
8394a2f
[UPD] README.rst
OCA-git-bot Oct 29, 2019
e56212e
pre-commit update
OCA-git-bot Mar 14, 2020
2814dba
[MIG] auth_api_key: Migration to 14.0
chafique-delli Oct 12, 2020
136c7d5
[UPD] Update auth_api_key.pot
oca-travis Dec 21, 2020
8a9a47c
[UPD] README.rst
OCA-git-bot Dec 21, 2020
3ed067a
Added translation using Weblate (Italian)
primes2h Feb 12, 2021
b2e2725
Translated using Weblate (Italian)
primes2h Feb 12, 2021
66cb514
[14.0][IMP] auth_api_key: Allow to search on every key even if void
rousseldenis Sep 9, 2021
6694a8e
auth_api_key 14.0.1.0.1
OCA-git-bot Sep 10, 2021
8dec9b7
auth_api_key: drop old migration
simahawk Sep 24, 2021
997f85f
auth_api_key: get rid of server env
simahawk Sep 24, 2021
4234749
auth_api_key: 14.0.2.0.0
simahawk Sep 24, 2021
a2b0ff7
[UPD] Update auth_api_key.pot
oca-travis Sep 27, 2021
fe8922f
[UPD] README.rst
OCA-git-bot Sep 27, 2021
cb0741e
auth_api_key 14.0.2.0.1
OCA-git-bot Sep 27, 2021
ee9743b
Update translation files
oca-transbot Sep 27, 2021
8ffbf36
[MIG] auth_api_key: Migration to 15.0
yankinmax Nov 24, 2021
f9d055d
[UPD] Update auth_api_key.pot
Nov 30, 2021
62ca85d
auth_api_key: fix archived user allowed key
TDu Jul 22, 2022
d881a53
[UPD] Update auth_api_key.pot
Jul 26, 2022
d4a84b7
auth_api_key 15.0.1.1.0
OCA-git-bot Jul 26, 2022
489bc75
Update translation files
oca-transbot Jul 26, 2022
fc00c59
Revert "Merge PR #398 into 15.0"
TDu Jul 26, 2022
17c9929
Revert "[UPD] Update auth_api_key.pot"
TDu Jul 26, 2022
d6b6a7c
Revert "Update translation files"
TDu Jul 26, 2022
55b83f2
auth_api_key 15.0.1.1.1
OCA-git-bot Jul 28, 2022
1b3c442
Update translation files
oca-transbot Jul 28, 2022
44035d3
[IMP] auth_api_key: pre-commit stuff
benoit-bertholon Nov 29, 2022
693e6bd
[MIG] auth_api_key: Migration to 16.0
benoit-bertholon Nov 29, 2022
1636750
[UPD] Update auth_api_key.pot
Dec 5, 2022
2460552
[UPD] README.rst
OCA-git-bot Dec 5, 2022
4f76247
Update translation files
weblate Dec 5, 2022
e2e517c
[UPD] README.rst
OCA-git-bot Sep 3, 2023
58b4f94
[IMP] auth_api_key: pre-commit auto fixes
chrisb-c01 Dec 16, 2023
9ca9980
[MIG] auth_api_key: Migration to 17.0
chrisb-c01 Dec 16, 2023
7290cb2
[UPD] Update auth_api_key.pot
Jan 26, 2024
29efc1c
[BOT] post-merge updates
OCA-git-bot Jan 26, 2024
4b31733
Update translation files
weblate Feb 3, 2024
d173069
Translated using Weblate (Italian)
mymage Apr 3, 2024
4ed0f54
Translated using Weblate (Italian)
mymage Aug 17, 2024
a0309fe
[14.0] auth_api_key: allow to update api key from form view and hide …
petrus-v Jun 26, 2023
c54811a
auth_api_key: archive key when user is archived
TDu Mar 21, 2023
37fd8e9
auth_api_key: add option to auto archive key with user
TDu Mar 27, 2023
2298864
[IMP] auth_api_key: apply pre-commit auto fixes
thienvh332 Oct 8, 2024
f7d6ce1
[MIG] auth_api_key: Migration to 18.0
thienvh332 Oct 8, 2024
10a5106
[UDP] auth_api_key: Update description for reason to keep this module
thienvh332 Oct 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 123 additions & 0 deletions auth_api_key/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
============
Auth Api Key
============

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:455a0f8646088cc228c9423fcbabbc1d81cabbebd0cac6dcf07bbbe000a6fc87
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |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/18.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-18-0/server-auth-18-0-auth_api_key
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-auth&target_branch=18.0
:alt: Try me on Runboat

|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:: 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 to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-auth/issues/new?body=module:%20auth_api_key%0Aversion:%2018.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]>
- Thien Vo Hong <[email protected]>

Other credits
-------------

The migration of this module from 17.0 to 18.0 was financially supported
by Camptocamp.

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/18.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
19 changes: 19 additions & 0 deletions auth_api_key/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 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": "18.0.1.0.0",
"license": "LGPL-3",
"author": "ACSONE SA/NV,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/server-auth",
"development_status": "Production/Stable",
"depends": ["base_setup"],
"data": [
"security/ir.model.access.csv",
"views/auth_api_key.xml",
"views/res_config_settings.xml",
],
}
108 changes: 108 additions & 0 deletions auth_api_key/i18n/auth_api_key.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_api_key
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.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__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 ""
121 changes: 121 additions & 0 deletions auth_api_key/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# 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: 2024-08-17 18:58+0000\n"
"Last-Translator: mymage <[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 5.6.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 "Creato da"

#. module: auth_api_key
#: model:ir.model.fields,field_description:auth_api_key.field_auth_api_key__create_date
msgid "Created on"
msgstr "Creato 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__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 "Last Modified on"
#~ msgstr "Ultima modifica il"

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