MiniOrange SAML SSO Drupal Module – Multilanguage Support

  • Victor
    # 1 month ago

    Greetings,

    Your SAML SSO Drupal module conflicts with my Drupal multilanguage settings.

    I determine the language from the URL as a Path prefix:
    URLs like https://example.com/en/contact set language to English (en) – Default
    URLs like https://example.com/fr/contact set language to French (fr)

    My default language is English.

    If I configure my Drupal multilanguage settings to other detection methods such as session, user, browser then your SAML SSO Drupal module works fine but all my Clean URLs no longer work with my current Drupal settings. I’d like to retain my multilanguage settings.

    All this happens because of your Drupal module ACS, Recipient and Destination URLs are configured in such a way that the language negotiation happens before reaching your ACS, Recipient and Destination URLs.

    ACS URL https://example.com/?q=samlassertion
    Recipient URL https://example.com/?q=samlassertion
    Destination URL https://example.com/?q=samlassertion

    Drupal then prepends the default language code, English (en) in my case, to the ACS, Recipient and Destination URLs as follows breaking your module.

    ACS URL https://example.com/en/?q=samlassertion
    Recipient URL https://example.com/en/?q=samlassertion
    Destination URL https://example.com/en/?q=samlassertion

    I know Apache Server 2.4 very well but by no means I’m an expert. I strongly believe this issue can be fixed with a simple and magic Apache configuration set of rules.

    Any help is greatly appreciated.

    Thanks,

    Victor
    # 4 weeks ago

    I figure it out.

    The solution to this problem is so simple that i feel a bit embarrassed posting the solution. However, here it goes for those who may stumble upon it. This only needs to happen during the initial configuration and revert back once this step is completed (Based solely on my experience).

    1. Drupal cache for anonymous users needs to be disabled during initial IdP and SP metadata and certificate negotiation
    2. SAML SSO module configuration needs Drupal language negotiation to be turned off during initial IdP and SP metadata and certificate negotiation

    Victor
    “Patience and perseverance have a magical effect before which difficulties disappear and obstacles vanish”

Viewing 2 posts - 1 through 2 (of 2 total)

Reply