Whoops, I accidentally included a logic short-cut that forced isI18nEnabled
to always return true. This version has that removed.
I've created an initial patch, modifying the OpenIDConnectGenericClient client to support (optionally, when enabled) including a ui_locales arguments in the authorize call to the identity provider. Let me know if this should be made more generic (I.E. parts added to OpenIDConnectClientBase), or if there are other issues with this approach.
This is a port of the relevant parts from the Keycloak project.
I've tested this successfully with Auth0, why my English and French (fr) site would send "en" and "fr-CA" to Auth0, based on the site language.
It's been a long time since I've done serious Drupal work, so any feedback or direction would be much appreciated.
I was not able to find a relevant place to put in tests (I couldn't see where OpenIDConnectClient plugin functionality was tested), and I'm not proficient enough to know where to start on that front. Again, pointers or corrections are most welcome.
I'm currently doing work that's targeting Auth0, but I believe Azure AD also supports ui_locales.
- Auth0: Universal Login Internationalization - Language selection
- Microsoft: Language customization in Azure Active Directory
I'll work on a patch.
leeomara → created an issue.
I wasn't able to get the patch from #12 to apply on Drupal 9.5 (would fail to patch core/misc/active-link.js). I suspect the whitespace changes from https://git.drupalcode.org/project/drupal/-/commit/77e12397f5dd5e0a49ed1... are the issue.
I've attempted to re-roll the patch from #12 against the Drupal core 9.5.x branch. This patch does apply for me on 9.5.9, though I'm a novice at this, so please check my work.