2nd factor authentication via U2F

auth_u2f
REPOSITORY
REPOSITORYOCA/server-auth
GIT
GIThttps://github.com/OCA/server-auth.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-auth/tree/12.0/auth_u2f
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYExtra Tools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), initOS GmbH, Joren Van Onder
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), initOS GmbH, Joren Van Onder
COMMITTERS
COMMITTERSStéphane Bidoul, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/server-auth
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES u2flib_server
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
assets_backend U2F Assets ir.ui.view qweb Inherits web.assets_backend
assets_frontend U2F Assets ir.ui.view qweb Inherits web.assets_frontend
login Register U2F page ir.ui.view qweb New
u2f_device_form u2f.device.form u2f.device form New
u2f_device_tree u2f.device.tree u2f.device tree New
view_users_form_inherit_auth_u2f res.users.form.inherit res.users xpath Inherits base.view_users_form
view_users_form_simple_modif_inherit_auth_u2f res.users.preferences.form res.users button Inherits base.view_users_form_simple_modif
Models touched (3)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • u2f_device_ids One2many → u2f.device
    string='U2F devices' args: 'u2f.device', 'user_id'
Public methods (2)
  • u2f_check_credentials(self, last_challenge, last_response)
    @api.multi
  • u2f_get_registration_challenge(self)
    @api.model

New fields (4)
  • default Boolean
    help='Device used during login.' readonly=True
  • json Char
    help='Technical data returned by u2flib or the browser' required=True string='Scan'
  • name Char
    required=True
  • user_id Many2one → res.users
    default=<expr> readonly=True required=True args: 'res.users'
Public methods (2)
  • action_make_default(self)
    @api.multi
  • create(self, vals)
    @api.model
REPOSITORY
REPOSITORYOCA/server-auth
GIT
GIThttps://github.com/OCA/server-auth.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-auth/tree/11.0/auth_u2f
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYExtra Tools
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), initOS GmbH, Joren Van Onder
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), initOS GmbH, Joren Van Onder
COMMITTERS
COMMITTERSoca-travis, OCA-git-bot, fkantelberg
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:56
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES u2flib_server
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
assets_backend U2F Assets ir.ui.view qweb Inherits web.assets_backend
assets_frontend U2F Assets ir.ui.view qweb Inherits web.assets_frontend
login Register U2F page ir.ui.view qweb New
u2f_device_form u2f.device.form u2f.device form New
u2f_device_tree u2f.device.tree u2f.device tree New
view_users_form_inherit_auth_u2f res.users.form.inherit res.users xpath Inherits base.view_users_form
view_users_form_simple_modif_inherit_auth_u2f res.users.preferences.form res.users button Inherits base.view_users_form_simple_modif
Models touched (3)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • u2f_device_ids One2many → u2f.device
    string='U2F devices' args: 'u2f.device', 'user_id'
Public methods (2)
  • u2f_check_credentials(self, last_challenge, last_response)
    @api.multi
  • u2f_get_registration_challenge(self)
    @api.model

New fields (4)
  • default Boolean
    help='Device used during login.' readonly=True
  • json Char
    help='Technical data returned by u2flib or the browser' required=True string='Scan'
  • name Char
    required=True
  • user_id Many2one → res.users
    default=<expr> readonly=True required=True args: 'res.users'
Public methods (2)
  • action_make_default(self)
    @api.multi
  • create(self, vals)
    @api.model