Neo4j 带有Servicestack的自定义IUserAuthRepository
我正在尝试为个人项目设置服务器。我使用ServiceStack.Core和Neo4j图形数据库作为持久层 我想使用我的图形数据库作为用户身份验证存储库来设置用户身份验证。据我所知,目前还没有针对Neo4j的IUserAuthRepository实现,这意味着我必须创建自己的实现。不幸的是,我发现很少有关于这个接口以及如何正确实现它的文档 因此,我有几个问题:Neo4j 带有Servicestack的自定义IUserAuthRepository,neo4j,.net-core,servicestack,Neo4j,.net Core,servicestack,我正在尝试为个人项目设置服务器。我使用ServiceStack.Core和Neo4j图形数据库作为持久层 我想使用我的图形数据库作为用户身份验证存储库来设置用户身份验证。据我所知,目前还没有针对Neo4j的IUserAuthRepository实现,这意味着我必须创建自己的实现。不幸的是,我发现很少有关于这个接口以及如何正确实现它的文档 因此,我有几个问题: 关于如何正确实现我自己的IUserAuthRepository,是否存在任何类型的教程或其他文档 CreateUserAuth方法应该使
- 关于如何正确实现我自己的IUserAuthRepository,是否存在任何类型的教程或其他文档
- CreateUserAuth方法应该使用密码。如果用户使用Facebook或其他服务登录并且没有密码怎么办
- 只使用Redis进行身份验证(使用RedisAuthRepository),使用userAuthId在我的graph db中查找用户,这样做更有意义吗?做这样的事有什么大的陷阱吗?如果我真的这样做了,我如何连接到注册过程中,以确保在注册新用户时在graph DB中创建一个用户
IUserAuthRepository
的文档,它是一个具有许多功能的接口。最简单的方法是遵循与neo4j类似的实现
IUserAuthRepository
、UserAuth
主表和UserAuthDetails
子表,所有OAuth提供商(如Facebook)在与它们进行身份验证时都会在其中维护接收到的信息。密码字段用于认证AuthProvider
您可以在注册和身份验证期间处理不同的事件。您是否知道
IUserAuth.Id
、IUserAuthDetails.Id
和IUserAuthDetails.UserAuthId
是否在用户身份验证存储库之外的任何位置使用?自动递增的int-id在Neo4j中不太适用,原因有很多。通过UUID对UserAuth
进行索引,并通过从UserAuth
节点遍历图形(反之亦然)到达UserAuthDetails
节点,这将更有意义。我可以通过将UserAuth.RefIdStr
设置为我的UUID并忽略所有其他Id
字段来实现这一点,但我担心其他Servicestack代码可能以某种方式依赖于这些Id值