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:oidc_odoo [2026/09/08 23:00] – [Prerequisites] kainhofer | en:2.0:single_sign_on:oidc_odoo [2026/09/09 00:20] (current) – [Setting up the Client (SP) in Admidio] kainhofer | ||
|---|---|---|---|
| Line 22: | Line 22: | ||
| ===== Quick Overview ===== | ===== Quick Overview ===== | ||
| - | Setting up a client (OpenID " | + | Setting up a client (OpenID " |
| + | - The client (RP, Odoo in our case) needs to be set up with the data about the OpenID Provider (OP). One has to manually paste the Admidio endpoint URLs of the OpenID provider into Odoo's configuration. Admidio provides copy buttons in the preferences screen, so this is rather straightforward. | ||
| + | - Admidio needs to be told about the client. In particular, the entity ID and the redirect URL must be given, and a custom-generated (random) secret must be copied to the client configuration. | ||
| The concrete steps are: | The concrete steps are: | ||
| * At the **Relying Party (RP)** - Odoo in our case - **install the extension** to support OpenID login. | * At the **Relying Party (RP)** - Odoo in our case - **install the extension** to support OpenID login. | ||
| * Configure it with Admidio' | * Configure it with Admidio' | ||
| - | * Also, choose which scopes (groups of profile fields) should be requested from Admidio (" | + | * Also, choose which scopes (groups of profile fields) should be requested from Admidio (" |
| * 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 RP**, Copy the created Client Secret (you will later need to paste it into the Odoo configuration), | + | * Enter the **ClientID from the RP**, copy the created Client Secret (you will later need to paste it indo DokuWiki' |
| + | * Many open source OIDC clients do not support encryption (PKCE, which is a security mechanism that prevents attackers from obtaining access unless their application started the initial login). By default, PKCE is required by Admidio, so in this case make sure that the requirement checkbox is turned off. Otherwise you will get an error. | ||
| * In Admidio, map the user ID, username, email and fullname to fields that are included in the OpenID login response (so-called " | * In Admidio, map the user ID, username, email and fullname to fields that are included in the OpenID login response (so-called " | ||
| Line 81: | Line 84: | ||
| * In addition, Odoo also provides settings to map OpenID claims (defined profile fields with a fixed name, defined in the OpenID standard) to the Odoo user's profile data. None of them are required, but they can be mapped, if profile information should be transferred from Admidio to Odoo. If automatic account creation is desired, the email claim must be included. | * In addition, Odoo also provides settings to map OpenID claims (defined profile fields with a fixed name, defined in the OpenID standard) to the Odoo user's profile data. None of them are required, but they can be mapped, if profile information should be transferred from Admidio to Odoo. If automatic account creation is desired, the email claim must be included. | ||
| - | {{ : | ||
| After saving the changes (both in Odoo and Admidio), the apps should should now be set up for single-sign-on in Odoo. | After saving the changes (both in Odoo and Admidio), the apps should should now be set up for single-sign-on in Odoo. | ||