An Ember Ecosystem
For Spree Commerce


Spree Ember Auth

Build Status Join the chat at

The Spree Ember Auth package is a wrapper on Ember Simple Auth, that provides a custom Spree Authorizer and Authenticator that work out of the box with the Spree rails engine via Spree AMS.

It uses:


ember install spree-ember-auth

This will run the spree-ember-auth generator, which does a few key things:

  • Adds Ember CLI Simple Auth to your host application
  • Installs user related routes at app/routes/spree/*
  • Installs user related route templates at app/templates/spree/*
  • Attempts to install an application route file at app/routes/application.js

Important: If you opted to not override your application route, or you're using an application setup that will ignore the generated application.js such as the Pod structure, you'll need to manually import the Ember Simple Auth application route mixin, like so:

import ApplicationRouteMixin from 'simple-auth/mixins/application-route-mixin';

export default Ember.Route.extend(ApplicationRouteMixin);

It's recommended that you study the Ember Simple Auth Documentation.

For full Spree Ember documentation, visit

For more information on using ember-cli, visit


Now you'll need to tell your router about the new Spree Auth routes:

import Ember from 'ember';
import config from './config/environment';

import spreeRouter from 'spree-ember-storefront/router';
import spreeAuthRouter from 'spree-ember-auth/router';

var Router = Ember.Router.extend({
  location: config.locationType
}); {
  spreeRouter(this, config);
  spreeAuthRouter(this, config);

export default Router;


All customization is done through the Ember CLI Environment. Here's the defaults:

"spree": {
  signinPath: 'signin',
  signupPath: 'signup',
  accountPath: 'account'

"simple-auth": {
  localStorageKey: 'spree-ember:session',
  authorizer: 'simple-auth-authorizer:spree',
  crossOriginWhitelist: ['http://localhost:3000'],
  authenticationRoute: 'spree.signin',
  routeAfterAuthentication: "spree.account",
  routeIfAlreadyAuthenticated: "spree.account"

Overriding the Signin / Signup Component

You can override the appearance and behaviour of the {{spree-auth}} component by running the generator:

ember g spree-ember-auth-component

This will install a template file at app/templates/components/spree-auth and a component file at app/components/spree-auth.

For more information, please see the spree-ember-auth API Documentation.