我想为我的用户提供基于密码的身份验证,同时也提供使用 Oauth 提供商登录的可能性。我查看了 Next-Auth 适配器以获取创建模式的参考,并且我也知道有一个 OpenSource 包可以调整createAuth
Oauth 的方法,但似乎提供的解决方案迫使我选择其中一个二。
我不确定如何使用 Keystone 来解决这个问题。例如,我是否应该Client
以以下形式创建一个列表:
const Client = list({
fields: {
name: text({validation: {isRequired: true}}),
email: text({
validation: {isRequired: true},
isIndexed: 'unique',
isFilterable: true,
}),
password: password(),
oauthProvider: text()
}
})
代表我的应用程序的客户,然后是User
管理员的形式:
const User = list({
fields: {
name: text({validation: {isRequired: true}}),
email: text({
validation: {isRequired: true},
isIndexed: 'unique',
isFilterable: true,
}),
password: password({validation: {isRequired: true}}),
}
})
后者是用作函数listKey
的那个createAuth
?