Thinkific to Shopify SSO

Silax
Tourist
7 0 4

We sell online courses and currently, we are using 2 platforms:

Shopify (sell)
Thinkific (upload courses)

We able to automatically sync the courses from Shopify to Thinkific as long as they use the same email address on both platforms.

We hope to allow people to purchase from our store WITHOUT having to create an account on Shopify and only create an account on Thinkific. 

Current workflow:

(New User "John")
1. Lands on Shopify www.site.com
2. Buys Course A using "john@test.com"
3. Receives THINKIFIC Welcome email asking to register an account
4. Logs into courses.site.com with "username: john@test.com pass: 123456"
5. Watches the first chapter of Course A on their dashboard.
-END-

John comes back to watch the second chapter
1. Lands on Shopify www.site.com
2. Tries to login
-ERROR: No account on Shopify-

We can change the login URL to course.site.com but we also want to allow the users to track their past orders within Shopify and also accumulate membership points.

What we hope to achieve:

(New User "John")
1. Lands on Shopify www.site.com
2. Buys Course A using "john@test.com"
3. Receives SHOPIFY Welcome email asking to register an account
4. Logs into www.site.com with (username: "john@test.com" pass: "123456")
5. See all past orders
6. Click "My dashboard"
7. Automatically logs into courses.site.com (same email)
5. Watches the first chapter of Course A on their dashboard.
-END-

John comes back to watch the second chapter
1. Lands on Shopify www.site.com
2. Login using (username: "john@test.com" pass: "123456")
3. See past orders and points accumulated.
4. Clicks "My dashboard"
5. Continue to watch Course A

Documentation for Thinkific SSO: https://developers.thinkific.com/more/sso/

Thinkific requires a JWT token with only the following requirements:

  • email (required) - the email of the authenticated user. If external_id is not supplied, email will be used as the unique identifier.
  • first_name (required)- the first name of the authenticated user.
  • last_name (required)- the last name of the authenticated user.
  • iat (required) - must be the number of seconds since UNIX epoch. This is essentially the time that the JWT payload was issued.

My question is how do I extract these requirements from Shopify and send it to Thinkific?

Thanks in advance.


Replies 3 (3)
Shahram_Soft
New Member
3 0 0

hi, i wanted to do the same any news about how to do it? did you find any way to do it?

ArchitechproOU
Shopify Partner
82 2 15

Hi,

 

We've created Courses app specifically for Shopify, so there is no need to integrate another platform or solve complex SSO / account sync problems. Check it out: https://apps.shopify.com/courses

Oli9
New Member
1 0 0

We can achieve this using Single Sign-On Solution (SSO) using JSON Web Token (JWT) protocol and can generate JWT token required for Thinkific using miniOrange. 

 

The user uses a miniOrange link to initiate the SSO. Based on the IDP (or) User Store configured in miniOrange, the user is redirected to the appropriate login page / IDP for authentication. Once they have been authenticated, miniOrange constructs a token (JWT) and redirects to Thinkific’s SSO URL with this token as a query string parameter. Thinkific deconstructs this payload and either finds the user and signs them in, or if they don’t already have an account on your Thinkific site, creates an account and signs them in.

 

We will customize this flow in a way where Single Sign-On (SSO) will take place using Shopify as IDP. Now, when the customer visits www.site.com to buy a course.. will receive an email from Shopify to create an account regarding his credentials. Using these creds he will be able to login into www.site.com and automatically log into courses.site.com without entering the passwords or creating a new account. They will have an option to see all past orders and buy new ones without creating a new account for thinkific.

 

For further details, you can reach them at idpsupport@xecurify.com or refer to these documents:

https://www.miniorange.com/thinkific-jwt-single-signon(sso)-solution

https://plugins.miniorange.com/how-to-use-shopify-as-an-identity-provider-for-single-sign-on-sso