Shopify Single Sign-On (SSO) using JWT Protocol

Shopify Single Sign-On (SSO) using JWT Protocol


JWT, or JSON Web Token, is an open standard used to share information between two parties securely — a client and a server. In most cases, it’s an encoded JSON containing a set of claims and a signature. The client will have to authenticate once with the server with the credentials. The server verifies the credentials and delivers a JSON Web Token to the client (JWT). The client may use this JSON Web Token (JWT) to authenticate itself to the server for avoiding the need to submit credentials such as username and password again.

This solution allows you to setup Single Sign-On (SSO) into Shopify store and authenticate via JWT from your client application. When you use single sign-on (SSO) with JWT authentication, a user's identity is verified when they sign in to the client application. The user can then access Shopify store without having to enter any additional sign-in credentials. Only users who have been authenticated by the client application have access to Shopify store.


jwt token authentication shopify SSO

Whenever a user login to your client application, the user’s details are taken from the application userbase by the JWT issuer for creating a JWT token having three parts header, payload, and signature. This JWT token is then appended in the Shopify SSO link and when the user clicks on the SSO link, there will be a signature validation process and if the signature is validated, the user is authentic and will be granted access to the Shopify store otherwise, the access will be denied.


Pre-requisite : Single Sign On - SSO Application

  • To configure Single Sign-On (SSO) on your Shopify store using JWT, you will need to install the miniOrange Single Sign On - SSO Application on your Shopify store:

    miniOrange Provides Secure Single Sign-On (SSO) access to your Shopify applications(both plus and Non plus Stores).


  • If you sign the JWT token via RS256 algorithm then you need to provide your organization’s public key so that we can validate the JWT token.

Step by Step guide for Single Sign-On in Shopify Store Using JWT Token

1.  Configure JWT Authentication in Shopify Single Sign-on (SSO) application

  • Navigate to Apps section and Click on Single Sign On - SSO Login Application.

    shopify authentication via jwt - singe sign-on application
  • Click on Setup IDP button in the top left in navigation bar.

    authentication via jwt shopify - setup idp
  • Navigate to User Stores and click on the Add User Store button.

    shopify authentication via jwt - add user store
  • Navigate to the JWT section and enter the required information.

    shopify authentication via jwt - jwt section
    JWT Identifier Enter appropriate IDP name (It will be used in SSO link)
    Login URL Authentication endpoint of company on which the user will get authenticated and get redirected to miniOrange JWT SSO link
    User Identifier The attribute in which you are passing email address as parameter
    JWT Signing Algorithm RSA256
    X.509 Certificate Public key provided by the company using which we will verify the jwt token.

2.  Create the SSO link to Single Sign-On to Shopify

  • Append the data in the below URL format.

    Customer ID miniOrange will provide customer ID
    IdpIdentifier JWT Identifier in above image
    JWT token Provided by the organization using SSO services. The JWT token needs to have these three mandatory parameters in the payload:

    iat - The time when this token was issued.
    exp - expiration time of this token.
    user_identifier - attribute in which you are passing email address
    Store-domain The primary domain of your Shopify store

    https://store.xecurify.com/moas/broker/login/jwt/callback/{customerId}/{idpIdentifier}/{jwtToken}?relay=https://store.xecurify.com/moas/broker/login/shopify/<store-domain>/account

  • After substituting the values click on the Single Sign-On (SSO) link. You will be redirected to the Shopify store.

    SSO using JWT - Test Successfull
  • Hence you have successfully configured Shopify Single Sign-On (SSO) using JWT Authentication using miniorange Single Sign-On (SSO) login application. This solution ensures that you are ready to roll out secure access to your Shopify store using JWT within minutes.

Additional Resources


If you are looking for anything which you cannot find, please drop us an email on shopifysupport@xecurify.com.

Hello there!

Need Help? We are right here!

support
Contact miniOrange Support
success

Thanks for your inquiry.

If you dont hear from us within 24 hours, please feel free to send a follow up email to info@xecurify.com