gpt4 book ai didi

ember.js - Ember Simple Auth 自定义验证器

转载 作者:行者123 更新时间:2023-12-01 23:53:36 25 4
gpt4 key购买 nike

我一直在尝试创建一个带有 idemailpointssession.currentUser 属性> 属性。

我引用的是 Custom authenticator with Ember simple auth + Ember CLIHow to store the user in a session ,但我只是想不通这些部分是如何组合在一起的。

我正在使用 Ember CLI。在我的 index.html 中,我有:

window.ENV['simple-auth'] = {
authorizer: 'simple-auth-authorizer:devise',
session: 'session:custom'
};

initializers/custom-session.js 中,我有:

import Session from 'simple-auth/session';
import Devise from 'simple-auth-devise/authenticators/devise';

export default {
name: 'session:custom',
before: 'simple-auth',
initialize: function(container) {
container.register('session:custom', Devise);
Session.extend({
currentUser: function() {
var id = this.get('id');
var email: this.get('user_email');
var points: this.get('points');

if (!Ember.isEmpty(id)) {
return this.store.createRecord('user', {
id: id,
email: email,
points: points
});
}
}.property('id')
});
}
};

这在很多方面对我来说都是错误的,但在尝试完成这项工作几个小时后,它至少表明了我正在努力完成的事情。

如果有任何帮助,我将不胜感激。提前致谢!

最佳答案

我明白了!!! :)

index.html:

window.ENV['simple-auth'] = {
authorizer: 'simple-auth-authorizer:devise',
session: 'session:withCurrentUser'
};

initializers/customize-session.js:

import Session from 'simple-auth/session';

var SessionWithCurrentUser = Session.extend({
currentUser: function() {
var userId = this.get('user_id');
if (!Ember.isEmpty(userId)) {
return this.container.lookup('store:main').find('user', userId);
}
}.property('user_id')
});

export default {
name: 'customize-session',
initialize: function(container) {
container.register('session:withCurrentUser', SessionWithCurrentUser);
}
};

希望这对其他人有帮助。

关于ember.js - Ember Simple Auth 自定义验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25298436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com