Search Results :

×

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).


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 the miniOrange Single Sign On-SSO application and click on Add identity Provider button.
  • Shopify JWT SSO Login - go to SSO application
  • Click on the Add identity Provider button to add your IDP.
  • Shopify JWT SSO Login - Add Identity Provider
  • Select JWT protocol.
  • Shopify JWT SSO Login - Select JWT Protocol
  • Fill out the below fields by referring the below table:
  • Shopify JWT SSO Login - Fill IDP data
    IDP Display Name Enter appropriate IDP name (It will be used in SSO link)
    JWT Login URL Authentication endpoint of company on which the user will get authenticated and get redirected to miniOrange JWT SSO link
    User Identifier Enter user identitfier as "email"
    JWT Signing Algorithm

    RSA256 / HS256 / Token Introspection

  • Click on Save.
  • Go to your configured application and locate the 'Application Key' field, which will act as the IdpIdentifier, shown in the image below:
  • Shopify JWT SSO Login - Application Key

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. Please contact shopifysupport@xecurify.com for the same.
    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

3.   Test Connection

  • After saving the JWT configuration, you will be redirected to Test Connection step.
    Please perform Test Connection before mapping or fetching attributes, test connection ensures that your IDP configuration is correct.
  • Click on the Test Connection button.
  • Shopify JWT SSO Login - test Connection
  • You will see a pop-up window which is shown in the below screen.
  • Shopify JWT SSO Login - SSO Sucess Test Connection
  • Click on the Fetch Attributes button to fetch IDP attribute.
  • Shopify JWT SSO Login - Fetch Attributes

4.   Attribute Mapping

  • Click on the + Attribute Mapping button to map attributes.
  • Shopify JWT SSO Login - Add Attribute
  • Map the attributes by refering the table below:
  • Shopify JWT SSO Login - Map Attributes
    Attribute Name in Shopify Choose the attribute from the list of predefined attributes
    Attribute Type IDP Attribute
    Attribute Value Select the attribute value you have fetched from your IDP
  • Click on Save.
  • Shopify JWT SSO Login - Save Attribute Mapping
  • Navigate to the application home page. Go to More actions against the IDP you have configured and click on Make Default button to make the IDP default.
  • Shopify JWT SSO Login - Make application Default

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.

Troubleshooting

invalid_request

This may be because your primary domain would be different from your Shopify domain. To check your primary domain and make SSO work, follow the steps given here.

shopify_plan_expired

This issue arises when either the trial period of your Development plan is expired. Or if your plan is not auto-renewed from the Shopify end. Contact us at shopifysupport@xecurify.com to resolve the plan upgrade issue and get smooth functioning of the SSO – Single Sign On Application.

invalid_attributes_received

As email is a required entity in Shopify for account creation as well as login operation, Single Sign On is not successful in this case. To resolve this error, please follow given here.

encountered_an_error

When I am performing SSO, I am getting ‘Please verify if Shopify App is installed’ error. To resolve this error, please follow given here.

If your error or query is not listed here, click here to see others.


Frequently Asked Questions (FAQs)


I have followed the steps to set IdP but where can I check SSO?

Follow the steps outlined here to configure SSO in Shopify with your preferred IDP.

I installed the Shopify SSO application. I clicked on the “SETUP IDP” option but nothing opened up.

Redirection to any other site might be blocked in the browser. Please follow the steps given here to resolve the issue.

When I try to perform SSO, I get redirected to the “Incorrect App Configuration” page and then after subsequent attempts, I get redirected to https://store.xecurify.com/moas/login page.

You might be trying to perform SSO in the different tab of the same browser where you have opened our Single Sign-On – SSO Application or accessed the configuration portal of our application. In this case, SSO will be restricted due to security reasons.
Try to perform Single Sign On in a new incognito/private window or in a different browser in order to make SSO work.

After performing SSO, I want my customers to redirect to the collections or discount offer page.

Follow the steps outlined here to redirect your customer to collections/cart or any other page.

How do I enable the SSO application’s auto redirect to IDP feature on my Shopify store?

You must upgrade to the SSO application’s Enterprise plan to enable the Auto-Redirect to the IDP feature. Follow the steps outlined here to enable this feature.

Choose your preferred Identity Provider and start setting up SSO for Shopify right away



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