我正在构建的 application 允许用户使用他们的 Facebook 和 Linkedin 帐户登录,以便从这些网络中获取他们的 friend 。
他们的每个 friend 都可以是该应用程序的用户。
我有几个问题需要解决:
潜在的解决方案
关于结构:
我正在使用 mongo(但我愿意接受建议)。所以我想我会创建一个
collection
的 Users
,其中每个用户文档看起来像这样:User = { appId: <id>, connections: [userId]}
因此,每个用户都有:
关于统一配置文件:
我应该根据用户的电子邮件或姓名统一用户吗?或两者?
杂项
我以为我可以使用 LoginRadius 但我只是为此而使用 singly,然后他们突然决定终止该服务。换句话说,我不想依赖第三方工具,因为这是一个核心功能。
最佳答案
var UserSchema = new Schema({
name: { type: String, default: '' },
email: { type: String, default: '' },
provider: { type: String, default: '' },
hashed_password: { type: String, default: '' },
salt: { type: String, default: '' },
authToken: { type: String, default: '' },
facebook: {},
linkedin: {}
})
我正在为我的用户集合使用上面提到的架构。
当新用户想要注册时,使用本地策略或社交策略
我只是使用带有“upsert:true”选项的更新 Mongoose 功能来更新或
创建一个条目。
关于mongodb - 从多个社交网络(Facebook 和 Linkedin...)获取的统一配置文件的数据库方案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18100299/