【发布时间】:2017-07-20 14:10:50
【问题描述】:
我正在尝试将扩展的环回用户模型与环回组件护照一起用于 facebook 登录。登录本身正在工作,但我无法让它使用我的自定义用户模型而不是内置的“用户”。
我采取的步骤:
- 使用 slc 环回创建自定义用户模型:模型扩展“用户”
{
"name": "myuser",
"plural": "myusers",
"base": "User",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"mytestproperty": {
"type": "string",
"default": "myteststring"
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
- 使用新用户模型设置护照组件:
module.exports = function (app) {
var passportConfigurator = new PassportConfigurator(app);
passportConfigurator.init();
passportConfigurator.setupModels({
userModel: app.models.myuser,
userIdentityModel: app.models.UserIdentity,
userCredentialModel: app.models.UserCredential
});
passportConfigurator.configureProvider('facebook-login',
require('../../providers.json')['facebook-login']);
};
问题: 当我通过 facebook 登录时,护照组件仍然使用我的 db.json 存储中看到的“用户”模型:
{
"ids": {
"User": 2,
"UserCredential": 1,
"UserIdentity": 2,
"AccessToken": 2,
"ACL": 1,
"RoleMapping": 1,
"Role": 1,
"myuser": 1
},
"models": {
"User": {
"1": "{\"username\":\"facebook.13371337\",\"password\":\"blablabla\",\"email\":\"blablabla\",\"id\":1}"
},
"UserCredential": {},
"UserIdentity": {
"1": "{\"provider\":\"ALL MY IDENTITY INFO BLABLABLA}"
},
"AccessToken": {
"1337": "{\"id\":\"1337\",\"ttl\":1209600,\"created\":\"2017-03-01T09:34:51.965Z\",\"userId\":1}"
},
"ACL": {},
"RoleMapping": {},
"Role": {},
"myuser": {}
}
}
如您所见,“用户”填充了我新创建的用户,而“我的用户”为空。
我是否弄错了什么或者将环回用户与护照一起扩展的正确方法是什么? 非常感谢任何提示或对示例的引用!
【问题讨论】:
标签: facebook express loopbackjs passport.js