Feature Request: Pass locale parameter to external OIDC Identity Provider during Customer Account login

Overview

We would like to kindly request that the storefront locale parameter be retained and passed when users are redirected to an external OIDC Identity Provider (IDP) during the Customer Account authentication flow. Having access to this parameter would help us render our IDP login page in the customer’s preferred browsing language.

Current Behavior

We have a custom external OIDC Identity Provider integrated with Shopify’s Customer Account authentication. We noticed that the locale parameter is present in the first two requests of the login flow, but it appears to be omitted when Shopify finally redirects to our IDP. This is occurring across all stores using our IDP.

Here is the exact flow we are observing, where Step 1 initiates a 302 redirect to Step 2, followed by another 302 redirect to Step 3:

Request 1 (storefront → Shopify account): https://shopify.com/{store_id}/account?locale=en&region_country=AU → locale=en :white_check_mark:

(302 Redirect to Request 2)

Request 2 (Shopify internal OAuth): https://shopify.com/authentication/{store_id}/oauth/authorize?...&locale=en-AU&region_country=AU&... → locale=en-AU :white_check_mark:

(302 Redirect to Request 3)

Request 3 (Shopify → our external IDP): https://our-idp.com/account/auth?scope=openid+email&client_id=...&response_type=code&redirect_uri=...&state=...&nonce=... → locale is missing :cross_mark:

The Problem & Business Impact

Because the locale is missing in Request 3, our external IDP loses the context regarding which language the customer was actively browsing in.

Currently, this means we have to fall back on the store’s primary_locale to decide the display language. If a store has multiple languages available and a customer is browsing in a secondary language, they are suddenly presented with a login page in the primary language. We would love to avoid this, as it breaks the seamless journey and can create a disjointed experience for the user.

Proposed Solution

Would it be possible to include the locale parameter in the final authorization request (Request 3) to the external IDP?

Passing the storefront’s current locale (or supporting the standard OIDC ui_locales parameter) in the redirect URI would be incredibly helpful. It would allow us to display our login page in the correct language and significantly improve the customer experience. We would greatly appreciate it if your engineering team could consider this enhancement!

Hey @ayush_yadav - thanks for reaching out :waving_hand:

This is a known limitation at the moment: Feature Request: Pass ui_locales to external OIDC identity provider in New Customer Accounts

You’re right though that the locale is present in the first two requests but gets dropped when Shopify redirects to the external IDP. There’s no workaround for this at the moment unfortunately, since the external IDP can only fall back to the browser’s Accept-Language header.

I definitely understand it’s not ideal for multi-language stores though.

I’ve logged this as a feature request on our end, can’t guarantee anything in terms of timelines, but your feedback here helps reinforce the need for sure.

Let me know if I can clarify anything on our end here and thanks again for reaching out, it’s really appreciated!