Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| en:2.0:single_sign_on:saml_odoo [2025/05/15 23:58] – [Configuring the Service Provider (Odoo)] kainhofer | en:2.0:single_sign_on:saml_odoo [2026/09/05 23:14] (current) – [Caveats and Things to Consider] kainhofer | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| Throughout the document we will assume you have both Admidio and Odoo already set up properly at https:// | Throughout the document we will assume you have both Admidio and Odoo already set up properly at https:// | ||
| - | + | ||
| - | As a first step, one needs to **configure Admidio to act as an SAML 2.0 Identity Provider** (IdP). This has to be done once and is not specific to any client. Please | + | As a first step, one needs to **configure Admidio to act as an SAML 2.0 Identity Provider** (IdP). This has to be done once and is not specific to any client. Please |
| {{ : | {{ : | ||
| - | Basically, one (1) needs to **create a cryptographic key** to sign message | + | Basically, one needs to enable SAML 2.0 and **choose a unique EntityID**. |
| - | The page preferences | + | |
| + | The page https:// | ||
| ===== Quick Overview ===== | ===== Quick Overview ===== | ||
| - | Setting up a client (SAML " | + | Setting up a client (SAML " |
| * At the **Service Provider (SP)** - Odoo in our case - **install the extension** to support SAML login. | * At the **Service Provider (SP)** - Odoo in our case - **install the extension** to support SAML login. | ||
| Line 23: | Line 25: | ||
| * Choose whether sent messages **should be signed and/or encrypted** (these features require an additional private key and certificate for the SP!), and whether received messages are checked for signatures or encryption is expected. | * Choose whether sent messages **should be signed and/or encrypted** (these features require an additional private key and certificate for the SP!), and whether received messages are checked for signatures or encryption is expected. | ||
| * In **Admidio**, | * In **Admidio**, | ||
| - | * Choose an easily understood **label for the client** (only used in Admidio' | + | * Choose an easily understood **label for the client** (only used in Admidio' |
| * Enter the **ClientID from the SP**, as well as the ACS URL and the SLO response URL. These values must be provided by the client. | * Enter the **ClientID from the SP**, as well as the ACS URL and the SLO response URL. These values must be provided by the client. | ||
| * In Admidio, also choose whether sent messages should be **signed or encrypted**. The crypto key generated in the general SAML setup will be used. | * In Admidio, also choose whether sent messages should be **signed or encrypted**. The crypto key generated in the general SAML setup will be used. | ||
| Line 68: | Line 70: | ||
| If the basic settings are valid and saved, the Odoo plugin provides a link to the client (SP) metadata XML file right above the certificat upload field. Copy that URL, so it can be pasted into Admidio for auto-configuration | If the basic settings are valid and saved, the Odoo plugin provides a link to the client (SP) metadata XML file right above the certificat upload field. Copy that URL, so it can be pasted into Admidio for auto-configuration | ||
| - | {{ : | ||
| Line 118: | Line 119: | ||
| * Odoo does NOT automatically create a new user account if a successful login from an unknown Admidio account occurs. Instead, one first has to create a new user (or connect an existing user) and connect that user with the proper Admidio user account name. In Admidio' | * Odoo does NOT automatically create a new user account if a successful login from an unknown Admidio account occurs. Instead, one first has to create a new user (or connect an existing user) and connect that user with the proper Admidio user account name. In Admidio' | ||
| + | * Odoo does not support SAML Single-Log-Out, | ||
| + | * Odoo's SAML User IDs are case-sensitive. If your Admidio username is " | ||
| * To install the SAML plugin, odoo needs the " | * To install the SAML plugin, odoo needs the " | ||
| * If odoo is behind a reverse proxy (e.g. Nginx Proxy Manager), correct proxy settings both in Odoo and the proxy itself is vital to make sure that the SAML endpoints in the metadata file and the actually called endpoints actually use https. Otherwise, login will fail without a helpful error message. | * If odoo is behind a reverse proxy (e.g. Nginx Proxy Manager), correct proxy settings both in Odoo and the proxy itself is vital to make sure that the SAML endpoints in the metadata file and the actually called endpoints actually use https. Otherwise, login will fail without a helpful error message. | ||
| * In `odoo.conf` set < | * In `odoo.conf` set < | ||
| * Make sure the reverse proxy sends all proper proxy headers, including X-FORWARDED-HOST, | * Make sure the reverse proxy sends all proper proxy headers, including X-FORWARDED-HOST, | ||