Shopify.Multipass 1.0.0-preview

This is a prerelease version of Shopify.Multipass.
dotnet add package Shopify.Multipass --version 1.0.0-preview                
NuGet\Install-Package Shopify.Multipass -Version 1.0.0-preview                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Shopify.Multipass" Version="1.0.0-preview" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Shopify.Multipass --version 1.0.0-preview                
#r "nuget: Shopify.Multipass, 1.0.0-preview"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Shopify.Multipass as a Cake Addin
#addin nuget:?package=Shopify.Multipass&version=1.0.0-preview&prerelease

// Install Shopify.Multipass as a Cake Tool
#tool nuget:?package=Shopify.Multipass&version=1.0.0-preview&prerelease                

🛍️ Shopify Multipass for .NET (7.0)

Available to Shopify Plus merchants, Multipass is an industry-standard mechanism for implementing single sign-on (SSO) between a Shopify store and a third-party service.

The Shopify Multipass mechanism makes use of a secret (string) to generate a valid (encrypted) Multipass login token. The required secret can be procured from the Shopify admin portal (after enabling Multipass).

🔧 Under the Hood

This .NET implementation of Shopify Multipass token generation endeavours to align as closely as possible to the official implementation guidelines provided in the Shopify developer documentation.

In the case of this package, after instantiating ShopifyMultipass with the required secret and domain (see Usage for more information), the secret is used to derive two cryptographic keys — one for encryption and one for signing.

This key derivation is done through the use of the SHA-256 hash function (the first 128 bit are used as encryption key and the last 128 bit are used as signature key). The encryption provides confidentiality. It makes sure that no one can read the customer data. As encryption cipher, we use the AES algorithm (128 bit key length, CBC mode of operation, random initialization vector).

📦 Installation

NuGet Package Manager Console ⚙️
Install-Package Shopify.Multipass

🔨 Usage

// TODO

📁 References

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0-preview 87 9/7/2023

The first release of this Shopify Multipass package containing the fundamentals of Multipass token generation.