Single Sign on Shopify: Step-by-Step Setup Guide

Single Sign on Shopify: Step-by-Step Setup Guide

Outrank AI

The most popular advice on single sign on Shopify is also the least useful: connect an identity provider and you're done. That step takes an afternoon. What breaks projects is everything after it, including claims that change between staging and production, sessions that die at checkout, and teams who configure staff login when they needed customer login, or the reverse.

Shopify runs two separate SSO layers, and they're governed differently. Shoppers authenticate through OAuth 2.0 and OpenID Connect, while employees reach Shopify admin through SAML. Treating those as one project is the first mistake. I'd start every engagement by naming which layer you need, which surfaces must share a session, and who owns the session policy. Everything else follows from those three answers.

Table of Contents

Choosing the Right Login Path for Your Store

Start with the requirement, not the tool. The table below maps the five needs I hear most often to the path that best serves them.

Login Path by Requirement

Requirement

Authentication path

Plan needed

Status

Shoppers signing in once across storefront, cart and checkout

Customer SSO over OIDC with an external identity provider

Shopify Plus

Current standard

Staff signing in to Shopify admin through corporate identity

SAML for organization-admin access

Shopify Plus

Current standard

Existing external site already using Multipass

Multipass token login

Shopify Plus

Legacy, closed to new stores

Headless or Hydrogen storefront

Customer Account API with OAuth token exchange

Shopify Plus for external IdP connection

Current

Basic or Advanced store wanting customer login

Native Shopify customer accounts

Any plan

Available

The Two Layers Don't Overlap

Customer-facing SSO lets a shopper who's already authenticated on your external site enter the storefront, cart, checkout, or customer-account pages without entering credentials again, and Shopify can authenticate that shopper while the provider session stays active, as Shopify's customer authentication SSO documentation describes. That flow is standards-based federation, not a shared password database.

Staff access is a different system entirely. SAML governs how your merchandisers, support agents, and administrators reach Shopify admin. A brand can need both layers, and they'll have different owners, different test plans, and different failure modes. Configuring one does nothing for the other.

Practical rule: if the person signing in buys from you, you're in the customer layer. If they work for you, you're in the staff layer. Never scope both in one ticket.

The One-Provider Limit

Only one connected provider can be active on the online store at a time, even though you can configure several, a constraint Shopify's identity provider guide states directly. Multi-brand groups and regional operations that want separate identity systems usually can't solve that on the Shopify side. You'll need to federate upstream, meaning your regional or wholesale providers connect to one primary provider, and that primary provider connects to Shopify.

Run this decision check before you evaluate vendors. If you're on Shopify Plus and shoppers must stay signed in across checkout, start with OIDC. If you're on Basic or Advanced, plan for native customer accounts and stop spending time on external providers for storefront login. There's no equivalent custom layer waiting as a workaround.

How to Configure OIDC Customer SSO

Connecting an identity provider is the easy part. OIDC customer SSO usually fails later, when customer claims change between environments or the Shopify session cannot resume as expected. Start with the configuration sequence in Shopify's customer authentication documentation, which describes OIDC as the recommended replacement for Multipass when a third-party provider is configured.

A four-step infographic illustrating how to configure OIDC customer single sign-on for Shopify Plus merchants.

The Six Steps

  1. Confirm Shopify Plus. The external identity-provider connection is Plus-only. Stores on other plans use native customer accounts, so check eligibility before designing an external OIDC flow.

  2. Configure the provider and Shopify customer authentication. Register the redirect URIs and client details required by your provider. Check the URI character-for-character, including any trailing slash, because a mismatch can prevent sign-in.

  3. Define stable identity claims. Shopify uses the token's sub and email claims to identify customers. Keep sub stable across staging and production; a different subject value can lead to duplicate customer records.

  4. Authenticate at the provider. The provider handles passwords, MFA, and consent. Its lockout and account-recovery policies therefore affect the customer sign-in experience.

  5. Return the ID token to Shopify. The token's issuer and audience must match the registered configuration exactly. If either differs, investigate the provider configuration as well as the Shopify error.

  6. Validate session resumption across the journey. Test the storefront, cart, checkout, and account pages. A successful account-page demo alone does not prove customers can continue through the rest of the purchase flow.

Claim Configuration to Check in Staging

  • Use a stable sub: Map it to the provider's permanent user ID, not a changeable value such as a display name.

  • Require a verified email: Reject sign-ins with unverified email addresses to avoid linking a Shopify customer account to an address the customer has not proved they own.

  • Match issuer and audience exactly: Check for differences such as a trailing slash between the registered values and the token.

  • Compare environments: Confirm sub and email appear on each login, then compare staging and production before launch.

Changing email addresses, unstable subject identifiers, or multiple identities mapped to one email can cause duplicate accounts or failed sign-ins. Treat claim stability and account-linking rules as release-blocking tests. For teams also handling subscription-user access, SCIM provisioning for shared subscription users addresses a separate provisioning concern; it does not replace Shopify customer authentication. For data flows beyond login, Presidio's guide to Shopify API integration patterns covers how those connections can be structured.

A useful staging test has a clear result: a shopper already authenticated with the provider opens the account page without another prompt, and the Shopify customer record has the same email as the provider profile. If either condition fails, resolve the claims or session handoff before launch.

Session Length and Refresh Tokens

Connecting an identity provider does not determine how long shoppers stay signed in. An access token typically expires after about one hour, while Shopify can maintain a customer session for up to 90 days when the provider returns refresh tokens, as explained in Shopify's identity provider connection guide. Without a refresh token, the session may end when the access token expires, even if Shopify's session window is longer.

The practical symptom is straightforward: a returning shopper finds the cart intact but the account page asks for sign-in again. The storefront can be working correctly; the provider may not have given Shopify a way to renew the session.

Three Decisions to Settle Before Launch

First, confirm that your provider issues refresh tokens for the client type you're using. Availability can depend on client configuration. Check the token response in staging rather than relying only on the provider's feature description.

Second, verify that refresh tokens are enabled in the production client registration. Staging and production can have different settings, so confirm each environment independently.

Third, decide what happens when silent renewal fails. You can ask the shopper to sign in again or return them to a guest state while allowing checkout to continue. Define the fallback so an expired session does not leave a shopper stuck without an explanation.

Latency Is a Storefront Problem

Slow identity endpoints can delay sign-in and make the storefront feel sluggish. The token, discovery, and user-information endpoints are part of the customer login path, so monitor their response times and make sure the identity and commerce teams know who handles a slowdown.

Assign one owner for session policy and document renewal and timeout rules. If the identity and commerce teams are working from different settings, the mismatch can surface during a sale.

Record token lifetimes, refresh behavior, the renewal-failure fallback, and who responds to endpoint slowdowns. A shared policy gives support and engineering a clear starting point when shoppers report unexpected sign-outs.

Testing the Full Customer Journey

A successful login demo proves almost nothing. A shopper can sign in cleanly and still lose the session at checkout, after token expiry, or during a provider outage. Your test plan has to cover the journey, not the login button.

Customer SSO Test Matrix

Test

Steps to run

Pass condition

Silent sign-in

Sign in at the provider, then open the storefront

Session resumes on storefront, cart and checkout with no second prompt

Session renewal

Wait past the access token lifetime, then reopen account pages

Refresh token renews the session when issued

Logout

Sign out from the store and from the provider

Session ends on every surface

Expired session

Let the session lapse, then open an account page

Shopper is asked to sign in again, not shown another account

Identity provider outage

Disable the provider in staging and load the storefront

Clear fallback message and guest checkout still works

Duplicate accounts

Change the email on the provider profile and sign in

No second customer account is created

Browser privacy

Repeat sign-in with third-party cookies blocked

Sign-in completes or fails with a readable message

Endpoint latency

Measure token, discovery and user-information responses

Each responds within one second

Release Rules

Run all eight checks against a real provider in staging, not a mock. Mocks don't have consent screens, cookie policies, or rate limits, and those are exactly where sign-in flows fail.

  • Treat claim stability as release-blocking: if changing an email creates a duplicate account, the launch stops until it's fixed. Duplicate accounts are nearly impossible to merge cleanly after the fact.

  • Repeat the matrix in a second browser profile: turn privacy protections on and block third-party cookies, since checkout is usually where this configuration fails first.

  • Log every failing check with a named owner: retest the fix on the surface where it failed, not only on the account page, because session behavior differs by surface.

  • Keep results beside the session policy: identity and commerce sign off on one shared set of numbers, not two summaries that disagree.

Expect silent sign-in and expired-session handling to need the most provider-side tuning. Silent authentication depends on the provider's session and cookie behavior, which varies by browser, and expiry behavior depends on settings your storefront team probably doesn't control. Budget tuning time for both rather than treating them as pass or fail on the first run.

Honest benchmark: if your test plan fits in one afternoon, it's testing the login button. The full matrix, run properly in two browser profiles, takes longer and catches the failures shoppers actually report.

Setting Up Staff SAML for Shopify Plus Admin

Staff access is its own project with its own standard. Shopify Plus provides organization-admin SSO through SAML, connecting your Shopify organization to providers such as Microsoft Entra ID so employees use corporate credentials for admin access.

The setup below uses Entra ID as the worked example, since it's the provider most enterprise teams bring to these projects.

A professional working on a laptop while viewing Microsoft Entra ID and Shopify Plus setup screens.

The Setup Sequence

  1. Note your Shopify organization ID. Each organization gets its own identifier and endpoint, so settings copied from another organization won't work.

  2. Open Enterprise applications in Microsoft Entra ID and select SAML as the single sign-on method.

  3. Enter the identity-provider metadata URL in Shopify's SAML settings, following Shopify's SAML configuration guide.

  4. Configure the reply URL using the pattern for your organization endpoint at accounts.shopify.com under the SAML consume path, ending with your own organization ID.

  5. Associate your verified email domains and require federated login for users on those domains, so staff can't bypass the corporate provider with separate Shopify credentials.

  6. Test with one administrator account before enforcing SAML for everyone. A misconfigured assertion can lock out every admin at once, and recovery is slower than testing.

If you're still weighing whether the plan tier justifies itself, our comparison of Shopify Advanced versus Plus lays out where organization-level controls like SAML factor into that decision.

The walkthrough below shows the Entra ID side of this configuration in practice.

The practical gain is governance. Removing an employee in your corporate identity provider removes their Shopify admin access, and provisioning follows the same policies as your other enterprise applications. Offboarding stops depending on someone remembering to deactivate a Shopify seat.

Keep the boundary clear, though. This covers employees only. Shopify ID handles staff access, and nothing in a SAML configuration changes how customers sign in on the storefront. Teams that conflate the two end up testing the wrong flow and reporting the wrong one as done.

Moving Off Multipass Without Breaking Accounts

Multipass was Shopify's earlier Plus mechanism for signing customers in from an external system, and it never supported true SSO. Shopify's current position is that Multipass is no longer available to new stores, while existing stores may keep it, including for new customer accounts. Treat it as a legacy migration path, not a default architecture.

A four-step infographic explaining how to migrate from Shopify Multipass while maintaining existing customer account access.

How the Legacy Flow Works

The operational sequence in Shopify's Multipass documentation runs in a fixed order. You authenticate the customer in the external system, build the customer payload as JSON, then encrypt and sign the token with the store's Multipass secret. The browser redirects to Shopify's Multipass login endpoint, and you verify the account was created or resumed using the supplied email.

For headless or Hydrogen builds, the token is exchanged at Shopify's OAuth token endpoint as a Multipass grant. The returned Customer Account API token then goes in the Authorization header without a Bearer prefix, a detail that causes a surprising number of failed integrations because it contradicts what most APIs expect. If that token exchange lives inside a broader private integration, our notes on building a Shopify custom app cover how to structure it.

Where Multipass Breaks

Four failure points cause most incidents:

  • Secret exposed in browser code: the Multipass secret must stay server-side. If it's in client JavaScript, anyone can mint login tokens for any email.

  • Incorrect encryption or timestamp handling: tokens generated with drift or wrong padding fail intermittently, which makes them hard to reproduce and harder to trust.

  • Wrong account-domain endpoint: redirecting to the wrong domain produces failures that look like account problems but aren't.

  • Assuming claim import works: Multipass does not support claim import, so arbitrary profile attributes you're sending are being ignored, not stored.

If your Multipass integration "mostly works," check the secret_handling and timestamp logic first. Intermittent token failures almost always trace back to one of those two.

The Parallel Run

Before cutover, inventory every login surface and measure your baseline: token-generation errors, redirect failures, duplicate-account creation, and support tickets, broken out by market. Without a baseline, you can't tell whether OIDC improved anything or just changed the failure shape.

Then run OIDC in parallel against the same surfaces and compare the numbers. Retire Multipass only after the OIDC metrics hold through a full traffic cycle, including a promotion or peak period if your calendar allows. I'd rather run both flows for a month than explain a lockout during a launch.

Confirm Your Login Path Before You Build

Three decisions determine whether a single sign on Shopify project ships cleanly. Make all three before anyone writes configuration.

The Pre-Build Checklist

  1. Confirm the plan tier. The external identity-provider connection is Plus-only, so a Basic or Advanced store should plan for native customer accounts from the start rather than designing around access it doesn't have.

  2. Name every surface that must share one session. Storefront, cart, checkout, account pages, and any headless surfaces each become a row your test matrix has to cover. A surface you forget here is the surface that fails in production.

  3. Name the owner of the session policy. One person owns refresh-token settings, timeout rules, and the fallback when the identity provider is down. Shared ownership between identity and commerce teams means no ownership when something breaks at 9 p.m.

Also settle the organizational question early. If your group needs separate regional or wholesale identity systems, you're designing upstream federation at the provider, not multiple Shopify connections. That decision affects contracts and timelines, not just settings, so it can't wait until staging.

SSO also doesn't maintain itself. Providers rotate certificates, change token policies, and deprecate endpoints, and each change can surface as a storefront problem. Our team maintains structured data integrity, third-party integrations, script governance, and performance troubleshooting for client Shopify stores, which is the kind of ongoing coverage an identity integration needs after launch.

If your project reaches beyond checkout login, or your team can't run the full test matrix and maintain the integration afterward, book a call to review the plan before you commit to a build sequence. Businesses can start by booking a call to take control of their Shopify storefront, and an SSO review is a reasonable first use of that conversation.

If you're planning customer OIDC, staff SAML, or a move off Multipass, we can review your login path, claim mapping, and session policy before you build and catch the failure points that don't show up in a login demo. Visit Presidio to book a call and take control of your Shopify storefront with an authentication setup that holds up past launch day.

Tags:

Tags:

Tags:

Share:

Share:

Share:

Stay up to date.

No spam. No nonsense.

Stay up to date.

No spam.

No nonsense.

Stay up to date.

No spam.
No nonsense.

ยฉ 2025 Presidio United Holdings LLC | Policy and terms


Stay up to date.

No spam. No nonsense.