app/assets/javascripts/ember-auth/ember-auth.js in ember-auth-rails-3.0.0 vs app/assets/javascripts/ember-auth/ember-auth.js in ember-auth-rails-3.1.0

- old
+ new

@@ -9,11 +9,11 @@ signIn: function(data) { var _this = this; if (data == null) { data = {}; } - return this.ajax(Auth.Config.get('tokenCreateUrl'), 'POST', { + return this.ajax(this.resolveUrl(Auth.Config.get('tokenCreateUrl')), 'POST', { data: data, success: function(json) { _this.set('authToken', json[Auth.Config.get('tokenKey')]); return _this.set('currentUserId', json[Auth.Config.get('idKey')]); }, @@ -29,11 +29,11 @@ var _this = this; if (data == null) { data = {}; } data[Auth.Config.get('tokenKey')] = this.get('authToken'); - return this.ajax(Auth.Config.get('tokenDestroyUrl'), 'DELETE', { + return this.ajax(this.resolveUrl(Auth.Config.get('tokenDestroyUrl')), 'DELETE', { data: data, success: function(json) { _this.set('authToken', null); return _this.set('currentUserId', null); }, @@ -43,10 +43,21 @@ complete: function() { return _this.set('prevRoute', null); } }); }, + resolveUrl: function(path) { + var base; + base = Auth.Config.get('baseUrl'); + if (base && base[base.length - 1] === '/') { + base = base.substr(0, base.length - 1); + } + if (path[0] === '/') { + path = path.substr(1, path.length); + } + return [base, path].join('/'); + }, resolveRedirectRoute: function(type) { var fallback, isSmart, sameRoute, typeClassCase; if (type !== 'signIn' && type !== 'signOut') { return null; } @@ -78,9 +89,10 @@ Auth.Config = Em.Object.create({ tokenCreateUrl: null, tokenDestroyUrl: null, tokenKey: null, idKey: null, + baseUrl: null, signInRoute: null, signOutRoute: null, authRedirect: false, smartSignInRedirect: false, smartSignOutRedirect: false,