Skip to content

Instantly share code, notes, and snippets.

View marcoow's full-sized avatar
🙈
🙉🙊

Marco Otte-Witte marcoow

🙈
🙉🙊
View GitHub Profile
Ember.Application.initializer({
name: 'authentication',
initialize: function(container, application) {
Ember.SimpleAuth.setup(container, application);
}
});
Ember.Application.initializer({
name: 'authentication',
initialize: function(container, application) {
Ember.SimpleAuth.setup(application);
}
});
App.Router.map(function() {
this.route('login');
this.route('logout');
});
App.LoginController = Ember.Controller.extend(Ember.SimpleAuth.LoginControllerMixin);
App.LogoutRoute = Ember.Route.extend(Ember.SimpleAuth.LogoutRouteMixin);
<form {{action login on='submit'}}>
<label for="identification">Login</label>
{{view Ember.TextField id='identification' valueBinding='identification' placeholder='Enter Login'}}
<label for="password">Password</label>
{{view Ember.TextField id='password' type='password' valueBinding='password' placeholder='Enter Password'}}
<button type="submit">Login</button>
</form>
App.ProtectedRoute = Ember.Route.extend(Ember.SimpleAuth.AuthenticatedRouteMixin);
Ember.$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
if (!jqXHR.crossDomain) {
jqXHR.setRequestHeader('X-AUTHENTICATION-TOKEN', App.Session.get('authToken'));
}
});
App.AuthenticatedRoute = Ember.Route.extend({
redirectToLogin: function(transition) {
App.Session.set('attemptedTransition', transition);
this.transitionTo('session.new');
},
beforeModel: function(transition) {
if (!App.Session.get('authToken')) {
this.redirectToLogin(transition);
}
App.SessionDestroyRoute = Ember.Route.extend({
renderTemplate: function(controller, model) {
controller.logout();
}
});
App.SessionDestroyController = Ember.Controller.extend({
logout: function() {
var self = this;
$.ajax({
url: '/session',
type: 'DELETE'
}).always(function(response) {
App.Session.setProperties({
authToken: '',
authAccountId: ''