Skip to content

SSO OIDC: Fix default issuer and endpoint URLs - #2101

Merged
Fasse merged 1 commit into
Admidio:masterfrom
kainhofer:OIDC_IssuerURL_default_2078_2079
Aug 4, 2026
Merged

SSO OIDC: Fix default issuer and endpoint URLs#2101
Fasse merged 1 commit into
Admidio:masterfrom
kainhofer:OIDC_IssuerURL_default_2078_2079

Conversation

@kainhofer

Copy link
Copy Markdown
Contributor

Derive the default OIDC issuer from the complete SSO route instead of falling back to the Admidio base URL. This restores the missing /oidc path in discovery, authorization, token, UserInfo and JWKS URLs.

When the default value is not changed, instead of storing the default value in the database, store an empty string and let the OIDCService class interpret empty issuer URLs as default value. When an installation is moved to a different (sub)domain, the admidio OIDC-part will adjust accordingly.

In the OIDC settings, display the resolved issuer in the SSO settings as a placeholder text if the input field is empty, but avoid persisting the default so that later changes to the Admidio base URL are reflected automatically.

Preserve explicitly configured issuer URLs and normalize trailing slashes. This is only an issue for OIDC (where actual URLs are configured), and must NOT be applied for SAML (where the entity ID is really a unique identifier and not a URL).

To show the placeholder text and also copy it with the copy icon next to the input field, the JS handler is extended accordingly. This functionality can be used in any input field by simply adding the 'placeholder' property when the 'copy-container' css class is assigned.

Fixes #2078 and #2079

Derive the default OIDC issuer from the complete SSO route instead of falling back to the Admidio base URL. This restores the missing /oidc
path in discovery, authorization, token, UserInfo and JWKS URLs.

When the default value is not changed, instead of storing the default value in the database, store an empty string and let the OIDCService class interpret empty issuer URLs as default value. When an installation is moved to a different (sub)domain, the admidio OIDC-part will adjust accordingly.

In the OIDC settings, display the resolved issuer in the SSO settings as a placeholder text if the input field is empty, but avoid persisting the default so that later changes to the Admidio base URL are reflected automatically.

Preserve explicitly configured issuer URLs and normalize trailing slashes. This is only an issue for OIDC (where actual URLs are configured), and must NOT be applied for SAML (where the entity ID is really a unique identifier and not a URL).

To show the placeholder text and also copy it with the copy icon next to the input field, the JS handler is extended accordingly. This functionality can be used in any input field by simply adding the 'placeholder' property when the 'copy-container' css class is assigned.

Fixes Admidio#2078 and Admidio#2079
@Fasse
Fasse self-requested a review August 4, 2026 19:55
@Fasse Fasse modified the milestone: v5.0.15 Aug 4, 2026
@Fasse
Fasse merged commit 61fc799 into Admidio:master Aug 4, 2026
1 check passed
@Fasse

Fasse commented Aug 4, 2026

Copy link
Copy Markdown
Member

Does this also fix a security advisory of the SSO module?

@kainhofer

Copy link
Copy Markdown
Contributor Author

No, unfortunately not. This patch is only about the settings and which values are stored in the DB and which are derived from the current host name. This patch does not change any of the security-related code parts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SSO / Changing base-url does not change OIDC URLs

2 participants