2013-06-12 30 views
1

我在服务器端使用节点,并在服务器端使用了passport twitter身份验证。我的问题是: 当twitter回叫响应时,我如何给客户发信号?Ember.js如何监听从服务器发起的事件?

我有两个API端点,一个是初始的Twitter认证,第二个是回调。

app.get '/twitter', *calling twitter ...* 

app.get '/twitter/callback', *callback from twitter ...* 

那么怎样才能从服务器端监听回调事件?

回答

0

我不认为烬可以听回调事件。但是,在回调中,您可以更新一个花费对象中的值。

例如,这里是一个余烬控制器的一些代码,回调

灰烬控制器

App.MyController = Em.ObjectController.extend({ 
    authenticated: false, 
    updateAuthStatus: function() { 
    Em.debug("We're auth status updated and is now: " + this.get('authenticated'); 
    }.observes('authenticated') 
}); 

回调

function(authenticated) { 
    if (!authenticated) { 
    alert("Authentication failed") 
    } else { 
    App.__container__.lookup("controller:my").set('authenticated', true); 
    } 
} 

更重要的是,您的护照认证从一个烬控制器内运行,那么你将不必找到c ontroller使用查找功能(也可能是一个更清洁的设计)。

+0

有趣的方法,我的问题将是如何运行在呃客户端上的twitter通行证验证?服务器在什么时候将访问令牌授予客户端? – user2471679

+0

我假设你正在构建一个应用程序,所以大部分事情都会发生在烬里。也许用一些代码更新你的问题,你应该怎么想它应该工作。这将为你来自哪里提供一个很好的参考框架。 – Gevious

+0

用代码更新你的问题。注释块太短而无法粘贴您的代码。另外,缩进4个块,使其显示为代码块。这样它更容易阅读 – Gevious