express-shopify-auth

0.0.5 • Public • Published

express-shopify-auth

Provides middleware for express applications to authenticate shops with Shopify.

Shop can be dynamically set during the authentication request - check out the example below.

Install

npm install express-shopify-auth

Examples

Authenticate shops and save to session. Run and visit http://localhost:8000/auth?shop=YourShopName.myshopify.com

var express = require('express');
var session = require('express-session');
var ShopifyAuth = require('express-shopify-auth');
 
var auth = ShopifyAuth.create({
  appKey: 'your app key',
  appSecret: 'your app secret',
  baseUrl: 'http://localhost:8000',
  authPath: '/auth',
  authCallbackPath: '/auth/callback',
  authSuccessUrl: '/success',
  authFailUrl: '/fail',
  scope: ['read_products'],
  shop: function (req, done) {
    return done(null, req.query.shop);
  },
  onAuth: function (req, res, shop, accessToken, done) {
    // save auth info to session
    req.session.shopify = { shop: shop, accessToken: accessToken };
    return done();
  }
});
 
var app = express();
 
app.use(session({
  secret: 'your session secret',
  resave: false,
  saveUninitialized: true
}));
 
app.use(auth);
 
app.get('/success', function (req, res) {
  res.json(req.session.shopify);
});
 
app.get('/fail', function (req, res) {
  res.send('Authentication failed');
});
 
app.listen(8000);

API

TODO

Development

Running tests

mocha is used for testing.

Start by creating a file options.json in tests/ that looks like:

{
  "shop": "YourDevShop.myshopify.com",
  "appKey": "your app key",
  "appSecret": "your app secret",
}

Run npm test. Your default browser should open a few tabs to run the tests using the provided dev shop.

Dependencies (5)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i express-shopify-auth

    Weekly Downloads

    2

    Version

    0.0.5

    License

    MIT

    Last publish

    Collaborators

    • matomesc