-
- Downloads
[ADD] base: API keys support
* ability for a user to request / create keys associated to their user * overrides can block RPC solely through API keys, by overriding `_rpc_api_keys_only()` (to require API auth even in situations where the user has not requested it themselves) * hash keys just in case as we can do so and might as well, add a cleartext index (first 4 bytes of 20) to avoid blowing up the DB if a user decides to create millions of keys for some daft reason * users can delete their own keys, admins can delete (invalidate) anyone's keys * `scope` on API keys can be used to restrict usage to certain kind of applications, so API keys can be used for other things than global authentication. New keys manually created by users have no scope by default so they are valid everywhere (global keys). RPC auth (stateless XML-RPC/JSON-RPC) requires global keys Co-authored-by:Florimond Husquinet <fhu@odoo.com> Co-authored-by:
Olivier Dony <odo@odoo.com>
Showing
- addons/base_setup/views/res_config_settings_views.xml 7 additions, 0 deletionsaddons/base_setup/views/res_config_settings_views.xml
- odoo/addons/base/models/res_users.py 165 additions, 11 deletionsodoo/addons/base/models/res_users.py
- odoo/addons/base/security/base_security.xml 23 additions, 0 deletionsodoo/addons/base/security/base_security.xml
- odoo/addons/base/security/ir.model.access.csv 5 additions, 0 deletionsodoo/addons/base/security/ir.model.access.csv
- odoo/addons/base/tests/test_xmlrpc.py 112 additions, 0 deletionsodoo/addons/base/tests/test_xmlrpc.py
- odoo/addons/base/views/res_users_views.xml 102 additions, 2 deletionsodoo/addons/base/views/res_users_views.xml
- odoo/addons/test_apikeys/__init__.py 0 additions, 0 deletionsodoo/addons/test_apikeys/__init__.py
- odoo/addons/test_apikeys/__manifest__.py 8 additions, 0 deletionsodoo/addons/test_apikeys/__manifest__.py
- odoo/addons/test_apikeys/static/tests/apikey_flow.js 114 additions, 0 deletionsodoo/addons/test_apikeys/static/tests/apikey_flow.js
- odoo/addons/test_apikeys/tests/__init__.py 1 addition, 0 deletionsodoo/addons/test_apikeys/tests/__init__.py
- odoo/addons/test_apikeys/tests/test_flow.py 37 additions, 0 deletionsodoo/addons/test_apikeys/tests/test_flow.py
- odoo/addons/test_apikeys/views/assets.xml 7 additions, 0 deletionsodoo/addons/test_apikeys/views/assets.xml
Loading
Please register or sign in to comment