Auth specific to heyook projects.
var ENV = {
//...
"simple-auth": {
authorizer: 'authorizer:devise',
crossOriginWhitelist: ['*'],
store: 'simple-auth-session-store:cookie'
},
"simple-auth-devise": {
tokenAttributeName: "auth_token",
identificationAttributeName: "email"
},
"simple-auth-session-store": {
cookieName: "lidamo_auth_session"
},
HeyookAuth: {
resourceName: "user",
currentResourceName: 'currentUser'
}
//...
};
if (environment === 'test') {
//...
ENV['simple-auth-devise'].serverTokenEndpoint = "api/users/sign_in";
ENV['simple-auth'].store = 'simple-auth-session-store:ephemeral';
}
import DS from 'ember-data';
export default DS.Model.extend({
email: DS.attr('string'),
auth_token: DS.attr('string')
});
import Ember from 'ember';
import ApplicationRouteMixin from 'simple-auth/mixins/application-route-mixin';
import LoginRouteMixin from 'ember-cli-heyook-auth/mixins/login-route-mixin';
export default Ember.Route.extend(ApplicationRouteMixin, LoginRouteMixin);
in route, you can do
beforeModel: ->
if @get('session.isAuthenticated')
@transitionTo "dashboard"
or
actions:
logout: ->
@get('session').invalidate()
{{login-form
model=model
onSubmit='submit'
onRemember='updateRememberMe'}}
import Ember from 'ember';
ApplicationController = Ember.Controller.extend({
currentAdmin: Em.computed.alias "session.currentAdmin"
});
export default ApplicationController;
import Ember from 'ember';
import AuthenticatedRouteMixin from 'simple-auth/mixins/authenticated-route-mixin';
export default Ember.Route.extend(AuthenticatedRouteMixin);