spree-ember-auth
v0.0.1-beta.1
Published
Authentication for a Spree Ember Application.
Downloads
4
Readme
Spree Ember Auth
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:
Installation
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 http://www.spree-ember.com/.
For more information on using ember-cli, visit http://www.ember-cli.com/.
Setup
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
});
Router.map(function() {
spreeRouter(this, config);
spreeAuthRouter(this, config);
});
export default Router;
Configuration
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
.