Repository
odoo/odoo · module folder
Module version
1.1
Category
Hidden/Tools
Folder size
0.65 MB
License
LGPL-3
Application
No
Auto-installable
Yes
Website
None
Last tracking update
2026-08-15 22:44:19
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Thibault Delavallée, Odoo Translation Bot, Denis Ledoux, Géry Debongnie, qsm-odoo, Toufik Ben Jaa, Julien Castiaux, Romeo Fragomeli, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, William Braeckman, Louis Wicket (wil), Victor Piryns (pivi), Dylan Kiss (dyki), bram1000, thle-odoo, Krzysztof Magusiak (krma), Basioni (basm)
Odoo dependencies
odoo/odoo:
- web
Python dependencies
None
System dependencies
None
Required by
auth_passkey_portal, auth_timeout
Description
The implementation of Passkeys using the webauthn protocol.
===========================================================

Passkeys are a secure alternative to a username and a password.
When a user logs in with a Passkey, MFA will not be required.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
auth_passkey_key_create_view_form Create Passkey Wizard Form auth.passkey.key.create form New
auth_passkey_key_rename auth.passkey.key.rename auth.passkey.key form New
auth_passkey_key_view_kanban auth.passkey.key.kanban auth.passkey.key kanban New
auth_passkey_login auth_passkey_login ir.ui.view qweb Inherits web.login
auth_passkey_login_oauth Passkey Login OAuth ir.ui.view qweb Inherits web.login_oauth
auth_passkey_users_form auth.passkey.users.form res.users form Inherits base.view_users_form
auth_passkey_users_preferences auth.passkey.users.preferences res.users form Inherits base.view_users_form_simple_modif
res_users_identitycheck_view_form_passkey res.users.identitycheck form Inherits base.res_users_identitycheck_view_form
HTTP endpoints (2)
Route(s)HandlerAuthTypeMethodsFlags
/auth/passkey/start-auth WebauthnController.json_start_authentication public jsonrpc ALL
/.well-known/assetlinks.json WebauthnController.web_well_known_android public http ALL
Models touched (4)

New fields (5)
  • create_uid Many2one → res.users
    index=True args: 'res.users'
  • credential_identifier Char
    groups='base.group_system' required=True
  • name Char
    required=True
  • public_key Char
    compute='_compute_public_key' groups='base.group_system' inverse='_inverse_public_key' required=True
  • sign_count Integer
    default=0 groups='base.group_system'
Public methods (4)
  • action_delete_passkey(self)
    @check_identity
  • action_rename_passkey(self)
  • init(self)
  • unlink(self)

New fields (1)
  • name Char
    required=True args: 'Name'
Public methods (1)
  • make_key(self, registration=None)
    @check_identity

New fields (1)
  • auth_passkey_key_ids One2many → auth.passkey.key
    args: 'auth.passkey.key', 'create_uid'
Public methods (2)
  • SELF_READABLE_FIELDS(self)
    @property
  • action_create_passkey(self)
    @check_identity

New fields (1)
  • auth_method Selection
    selection_add=[('webauthn', 'Passkey')]
Public methods (1)
  • action_use_password(self)

Loading…