`import config from 'travis/config/environment'` Auth = Ember.Service.extend store: Ember.inject.service(), storage: Ember.inject.service(), sessionStorage: Ember.inject.service(), ajax: Ember.inject.service() state: "signed-out" receivingEnd: "#{location.protocol}//#{location.host}" init: -> window.addEventListener('message', (e) => @receiveMessage(e)) token: -> @get('sessionStorage').getItem('travis.token') endpoint: (-> config.apiEndpoint ).property(), signOut: -> @get('storage').removeItem('travis.user') @get('storage').removeItem('travis.token') @get('sessionStorage').clear() @set('state', 'signed-out') @set('user', undefined) if user = @get('currentUser') @get('store').unloadAll('user') @set('currentUser', null) @sendToApp('afterSignOut') Travis.trigger('user:signed_out') signIn: (data) -> if data @autoSignIn(data) else @set('state', 'signing-in') url = "#{@get('endpoint')}/auth/post_message?origin=#{@receivingEnd}" $('