Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
172572a
[IMP] Move files in a subdirectory
max3903 Mar 26, 2018
1dee4f9
[MIG] auth_saml: Migration to 11.0
max3903 Mar 26, 2018
4846fa8
Typo
yvaucher Nov 22, 2018
a9f7aa6
[UPD] Update auth_saml.pot
oca-travis Dec 12, 2018
221d000
[ADD] icon.png
OCA-git-bot Apr 3, 2019
28c9da6
[FIX] auth_saml: Remove broken symlink
pedrobaeza Aug 21, 2019
e18ff51
[FIX] auth_saml: Fix KeyError using auth_oauth module. (#149)
moylop260 Nov 29, 2019
d974adb
[UPD] Update auth_saml.pot
oca-travis Nov 29, 2019
ddb33f6
Update translation files
oca-transbot Nov 29, 2019
08810e8
[FIX] dependencies
Nov 30, 2019
0b6193a
[MIG] auth_saml to 12.0
gurneyalex Dec 11, 2018
f115e6a
[MIG][REF] General cleanup for migration
Mar 19, 2020
a31e32b
[UPD] README.rst
OCA-git-bot Mar 27, 2020
e240fbc
FIX auth_saml committing saml_access_token otherwise login_and_redire…
eLBati Nov 16, 2020
829e533
[UPD] Update auth_saml.pot
oca-travis Nov 30, 2020
5bcee88
Update translation files
oca-transbot Nov 30, 2020
de5e2d8
auth_saml 12.0.1.0.1
OCA-git-bot Feb 2, 2021
6193601
[IMP] auth_saml: black, isort, prettier
theangryangel Jun 25, 2021
6ffa29e
[MIG] auth_saml: Migration to 14.0
theangryangel Jun 25, 2021
1c008c5
auth_saml: declare debian dependency
simahawk Jan 14, 2022
6e874e9
auth_saml 14.0.1.0.1
OCA-git-bot Jan 14, 2022
1c387d6
[IMP] auth_saml: black, isort, prettier
Camille0907 Jan 26, 2022
6ab861b
[MIG] auth_saml: Migration to 15.0
Camille0907 Jan 26, 2022
7286f56
[UPD] Update auth_saml.pot
Feb 14, 2022
a088249
Translated using Weblate (French)
vincent-hatakeyama Feb 15, 2022
1da2b9e
🚑 Fix the module by adding a transaction to commit the token
vincent-hatakeyama Feb 14, 2022
59fa96b
[UPD] Update auth_saml.pot
Mar 31, 2022
ffc66e1
[UPD] README.rst
OCA-git-bot Mar 31, 2022
ddf6369
auth_saml 15.0.1.1.0
OCA-git-bot Mar 31, 2022
89bbe29
Update translation files
oca-transbot Mar 31, 2022
eb7c88a
Translated using Weblate (French)
vincent-hatakeyama Apr 4, 2022
d523d58
Place upper bound in cryptography indirect dependency
sbidoul Oct 5, 2022
e02e60b
auth_saml 15.0.1.1.1
OCA-git-bot Oct 5, 2022
e86f928
[ADD] auth_saml: Improve login page
vincent-hatakeyama Feb 21, 2023
d9d3286
[ADD] auth_saml: handle redirect parameter in the URI
vincent-hatakeyama Feb 24, 2023
83b645e
[MIG] auth_saml: Migration to 16.0
szekawong Mar 27, 2023
398c57d
[UPD] Update auth_saml.pot
Mar 28, 2023
9a5a632
[UPD] README.rst
OCA-git-bot Mar 28, 2023
c3dc0fe
Update translation files
weblate Mar 28, 2023
9d42a37
[FIX]auth_saml: fix singleton error.
jesusVMayor May 3, 2023
1650cad
auth_saml 16.0.1.0.1
OCA-git-bot Jul 2, 2023
9c774d4
auth_saml: add maintainer
vincent-hatakeyama Jul 4, 2023
5475c60
[UPD] README.rst
OCA-git-bot Aug 12, 2023
3199656
auth_saml 16.0.1.0.2
OCA-git-bot Aug 12, 2023
23e0b9d
Added translation using Weblate (Spanish)
Ivorra78 Aug 25, 2023
b18d4d6
[UPD] README.rst
OCA-git-bot Sep 3, 2023
ebacb29
Update translation files
weblate Oct 9, 2023
0f4cb08
Small bugfix, RelayState can be empty
tb-flyt Dec 15, 2023
31c0633
[BOT] post-merge updates
OCA-git-bot Dec 15, 2023
ade0f1c
Added translation using Weblate (Italian)
mymage Dec 28, 2023
61ecbf0
FIX auth_saml: password reset when deactivating the config settings
leemannd Jan 3, 2024
dd11544
[BOT] post-merge updates
OCA-git-bot Jan 8, 2024
b90ec30
[MIG] auth_saml: pre-commit
astirpe Apr 8, 2024
9b3f545
[MIG] auth_saml: migrate to V17
astirpe Apr 8, 2024
7ace1f2
[FIX] auth_saml: update signin method
vincent-hatakeyama Jun 12, 2024
eb1e89f
[IMP] auth_saml: Allow admin/managers to edit User SAML information
aronabencherif May 13, 2024
f26f720
[MIG] Improved test coverege
oussjarrousse Aug 6, 2024
034cad1
[UPD] Update auth_saml.pot
Aug 20, 2024
55f9588
[BOT] post-merge updates
OCA-git-bot Aug 20, 2024
ec27bb3
[IMP] auth_saml: pre-commit auto fixes
BT-dlagin Jan 7, 2025
5fe4a00
[18.0][MIG] auth_saml: Migration to 18.0
BT-dlagin Jan 7, 2025
6b3a75a
[UPD] Update auth_saml.pot
Jan 15, 2025
2f4afcf
Translated using Weblate (French)
vincent-hatakeyama Jan 27, 2025
cc7b6f5
[FIX] auth_saml: fix getting uid from authenticate return value
StefanRijnhart Apr 9, 2025
d10a256
[BOT] post-merge updates
OCA-git-bot Apr 10, 2025
ae36a22
[FIX] auth_saml: avoid redirecting when there is a SAML error
vincent-hatakeyama Feb 11, 2025
b7531d9
[BOT] post-merge updates
OCA-git-bot May 13, 2025
dfd5102
[FIX] auth_saml: message indicates that a key is found incorrectly
vincent-hatakeyama Jan 28, 2025
970c237
[IMP] auth_saml: download the provider metadata
gurneyalex Jan 9, 2024
dfa7f54
[IMP] auth_saml: only lock providers being updated
Ricardoalso May 3, 2024
0fafa40
[IMP] auth_saml: only write value that changes
vincent-hatakeyama Jan 28, 2025
0053820
[BOT] post-merge updates
OCA-git-bot Sep 11, 2025
33a6ed6
Translated using Weblate (Italian)
mymage Sep 26, 2025
9e275c1
[IMP] auth_saml: pre-commit auto fixes
vincent-hatakeyama Mar 26, 2026
ddc1c48
[MIG] sql constraint in model.constraint
michotm Dec 1, 2025
57bc71b
[MIG] auth_saml: Migration to 19.0
vincent-hatakeyama Mar 26, 2026
5cfd1f2
[FIX] auth_saml: fix sending password change mail when blanking password
vincent-hatakeyama Feb 12, 2026
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
197 changes: 197 additions & 0 deletions auth_saml/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

====================
SAML2 Authentication
====================

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

.. |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/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--auth-lightgray.png?logo=github
:target: https://github.com/OCA/server-auth/tree/19.0/auth_saml
: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-19-0/server-auth-19-0-auth_saml
: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=19.0
:alt: Try me on Runboat

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

Let users log into Odoo via an SAML2 identity provider.

This module allows to deport the management of users and passwords in an
external authentication system to provide SSO functionality (Single Sign
On) between Odoo and other applications of your ecosystem.

**Benefits**:

- Reducing the time spent typing different passwords for different
accounts.
- Reducing the time spent in IT support for password oversights.
- Centralizing authentication systems.
- Securing all input levels / exit / access to multiple systems without
prompting users.
- The centralization of access control information for compliance
testing to different standards.

**Table of contents**

.. contents::
:local:

Installation
============

This addon requires the python module ``pysaml2``.

``pysaml2`` requires the binary ``xmlsec1`` (on Debian or Ubuntu you can
install it with ``apt-get install xmlsec1``)

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

To use this module, you need an IDP server, properly set up.

1. Configure the module according to your IdP’s instructions (Settings >
Users & Companies > SAML Providers).
2. Pre-create your users and set the SAML information against the user.

By default, the module let users have both a password and SAML ids. To
increase security, disable passwords by using the option in Settings.
Note that the admin account can still have a password, even if the
option is activated. Setting the option immediately remove all password
from users with a configured SAML ids.

If all the users have a SAML id in a single provider, you can set
automatic redirection in the provider settings. The autoredirection will
only be done on the active provider with the highest priority. It is
still possible to access the login without redirection by using the
query parameter ``disable_autoredirect``, as in
``https://example.com/web/login?disable_autoredirect=`` The login is
also displayed if there is an error with SAML login, in order to display
any error message.

If you are using Office365 as identity provider, set up the federation
metadata document rather than the document itself. This will allow the
module to refresh the document when needed.

Usage
=====

Users can login with the configured SAML IdP with buttons added in the
login screen.

Known issues / Roadmap
======================

- clean up ``auth_saml.request``

Changelog
=========

18.0.1.0.3 (2025-09-11)
-----------------------

Features
~~~~~~~~

- When using attribute mapping, only write value that changes. Not
writing the value systematically avoids getting security mail on
login/email when there is no real change.

18.0.1.0.2 (2025-05-13)
-----------------------

Bugfixes
~~~~~~~~

- Avoid redirecting when there is a SAML error.

18.0.1.0.0
----------

Initial migration for 18.0.

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_saml%0Aversion:%2019.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
-------

* XCG Consulting

Contributors
------------

- `XCG Consulting <https://xcg-consulting.fr/>`__:

- Florent Aide <florent.aide@xcg-consulting.fr>
- Vincent Hatakeyama <vincent.hatakeyama@xcg-consulting.fr>
- Alexandre Brun
- Houzéfa Abbasbhay <houzefa.abba@xcg-consulting.fr>
- Szeka Wong <szeka.wong@xcg-consulting.fr>

- Jeremy Co Kim Len <jeremy.cokimlen@vinci-concessions.com>
- Jeffery Chen Fan <jeffery9@gmail.com>
- Bhavesh Odedra <bodedra@opensourceintegrators.com>
- `Tecnativa <https://www.tecnativa.com/>`__:

- Jairo Llopis

- `GlodoUK <https://www.glodo.uk/>`__:

- Karl Southern

- `TAKOBI <https://takobi.online/>`__:

- Lorenzo Battistini

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.

.. |maintainer-vincent-hatakeyama| image:: https://github.com/vincent-hatakeyama.png?size=40px
:target: https://github.com/vincent-hatakeyama
:alt: vincent-hatakeyama

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-vincent-hatakeyama|

This module is part of the `OCA/server-auth <https://github.com/OCA/server-auth/tree/19.0/auth_saml>`_ 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_saml/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import controllers, models, wizards
31 changes: 31 additions & 0 deletions auth_saml/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright (C) 2020 GlodoUK <https://www.glodo.uk/>
# Copyright (C) 2010-2016, 2022 XCG Consulting <https://orbeet.io/>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "SAML2 Authentication",
"version": "19.0.1.0.0",
"category": "Tools",
"author": "XCG Consulting, Odoo Community Association (OCA)",
"maintainers": ["vincent-hatakeyama"],
"website": "https://github.com/OCA/server-auth",
"license": "AGPL-3",
"depends": ["base_setup", "web"],
"external_dependencies": {
"python": ["pysaml2", "responses"],
"bin": ["xmlsec1"],
# special definition used by OCA to install packages
"deb": ["xmlsec1"],
},
"demo": [],
"data": [
"data/ir_config_parameter.xml",
"security/ir.model.access.csv",
"views/auth_saml.xml",
"views/res_config_settings.xml",
"views/res_users.xml",
],
"installable": True,
"auto_install": False,
"development_status": "Beta",
}
3 changes: 3 additions & 0 deletions auth_saml/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import main
Loading
Loading