From 21af8176a102db9f4a88754f87838458128a239b Mon Sep 17 00:00:00 2001 From: Konstantin Haase Date: Wed, 5 Dec 2012 14:18:32 +0100 Subject: [PATCH] listen for redirect events --- assets/scripts/app/auth.coffee | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/assets/scripts/app/auth.coffee b/assets/scripts/app/auth.coffee index 260da1d2..0a47aa74 100644 --- a/assets/scripts/app/auth.coffee +++ b/assets/scripts/app/auth.coffee @@ -49,13 +49,7 @@ # TODO should have clearData() to clean this up setData: (data) -> - if typeof data == 'string' - # TODO: I sometimes see plain text response "done" when authenticating - # we should track down why is that happening and fix the API - if data == 'done' - data = {} - else - data = JSON.parse(data) + data = JSON.parse(data) if typeof data == 'string' @storeToken(data.token) if data?.token console.log 'setData', data.user if data?.user user = @storeUser(data.user) if data?.user @@ -89,9 +83,12 @@ receiveMessage: (event) -> if event.origin == @expectedOrigin() - event.data.user.token = event.data.travis_token if event.data.travis_token - @setData(event.data) - console.log("signed in as #{event.data.user.login}") + if event.data == 'redirect' + @forceSignIn() + else if event.data.user? + event.data.user.token = event.data.travis_token if event.data.travis_token + @setData(event.data) + console.log("signed in as #{event.data.user.login}") else console.log("unexpected message #{event.origin}: #{event.data}")