我已经尝试过这样做了。('会话')但它什么都没给我。
我想将数据保存到我的会话
我似乎只从验证者那里获得了我需要的信息,但似乎无法传递它。 (试过在SO上建议的几种方法,但似乎没有一种方法可以从认证者那里工作)
import Ember from 'ember';
import Torii from 'ember-simple-auth/authenticators/torii';
const { service } = Ember.inject;
export default Torii.extend({
torii: service('torii'),
authenticate(options) {
return this._super(options).then(function (data) {
console.log(data);
});
}
});
认证者的来电者(我需要从这里获取信息吗?)
import Ember from 'ember';
export default Ember.Controller.extend({
session: Ember.inject.service('session'),
actions: {
authenticateSession() {
this.get('session').authenticate('authenticator:torii', 'google-token');
},
invalidateSession() {
this.get('session').invalidate();
}
}
});
答案 0 :(得分:2)
您的身份验证器的authenticate
方法无法解决任何问题。将其更改为
import Ember from 'ember';
import Torii from 'ember-simple-auth/authenticators/torii';
const { service } = Ember.inject;
export default Torii.extend({
torii: service('torii'),
authenticate(options) {
return this._super(options).then(function (data) {
console.log(data);
return data;
});
}
});
通过会话的data
属性提供data.authenticated
中的所有属性,例如this.get('session.data.authenticated.token')
。
当然,在这种情况下,如果您不需要记录,则可以完全删除已覆盖的authenticate
方法。