Skip to content

renatodex/multipassify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multipassify

Multipassify

Shopify Multipass module for Ruby

Shopify provides a mechanism for single sign-on known as Multipass. Multipass uses an AES encrypted JSON hash and multipassify provides functions for generating tokens

More details on Multipass with Shopify can be found here.

Installation

    gem install multipassify

Usage

To use Multipass an Enterprise / Plus plan is required. The Multipass secret can be found in your shop Admin (Settings > Checkout > Customer Accounts). Make sure "Accounts are required" or "Accounts are optional" is selected and Multipass is enabled.

  require 'multipassify'

  # Construct the Multipassify encoder
  multipassify = Multipassify.new 'SHOPIFY MULTIPASS SECRET'

  # Create your customer data hash
  customer_data = { email: 'test@example.com', remote_ip:'USERS IP ADDRESS', return_to:"http://some.url"}

  # Encode a Multipass token
  token = multipassify.encode(customer_data)

  # Generate a Shopify multipass URL to your shop
  url = multipassify.generate_url(customer_data, 'yourstorename.myshopify.com')

  # Generates a URL like:  https://yourstorename.myshopify.com/account/login/multipass/<MULTIPASS-TOKEN>

Information & Credits

This is a Ruby Port from GitHub - beaucoo/multipassify: Shopify Multipass module for Node.js. Credits to @beaucoo and Shopify Multipass documentation!