如何在ember-simple-auth中访问会话属性?

时间:2014-03-25 13:37:51

标签: javascript authentication ember.js

我使用的是自定义Facebook身份验证器,非常类似于ember-simple-auth example中给出的身份验证器。我将属性accountIDaccessToken注入会话:

if (fbResponse.status === 'connected') {
  console.log("AccountID: " + fbResponse.authResponse.userID);
  Ember.run(function() {
  resolve({
     accessToken: fbResponse.authResponse.accessToken,
     accountID: fbResponse.authResponse.userID
  });
});

如果我正确阅读docs,我应该可以在任何控制器中使用accountID访问session.accountID。但是,我能找到这个的唯一方法是通过session.store._lastData.accountID,这可能不是正确的方法。

更具体地说,在控制器中,我有一个动作:

createRental: function() {
      var session = this.get('session');
      console.log(session.accountID); // undefined
      console.log(session.store._lastData.accountID); // '123456'

有没有使用ember-simple-auth经验的人都知道问题是什么?谢谢!

1 个答案:

答案 0 :(得分:6)

您需要使用get

this.get('session.accountID')

var session = this.get('session');
session.get('accountID')