我正在尝试集成Tigase来使用我的自定义MySQL数据库来验证用户、获取名册和vCards。我设置了“自定义身份验证连接器”(),正如在指南/html/#定制身份验证中描述的那样,但是,它似乎只对我已经添加到本地Tigase数据库中的用户进行身份验证。Tigase是否可以在用户成功通过身份验证后自动创建用户?另外,如何设置Tigase以从我的自定义数据库中获取用户的名册和/或vCard?
我尝试设置指南/html/#定制身份验证中描述的“自定义身份验证连接器”,但是对于只存在于自定义数据库中的用户,它允许登录,但是当我试图创建一个房间或将一个用户添加到我的名册中时会抛出一个错误,如"tigase.db.UserNotFoundException: user不存在“和”警告:数据包的NotAuthorizedException“。
下面是基于指南/html/#定制身份验证的配置
authRepository {
default () {
cls = 'tigase.db.jdbc.TigaseCustomAuth'
'data-source' = 'db-custom'
'conn-valid-query' = 'select 1'
'user-account-status-query' = 'select onlineStatus AS account_status from tbl_contacts where id = ?'
'user-login-query' = "select vUserId AS user_id from tbl_contacts where vUserId = ? AND vPassword = ?"
}
}我希望能够将Tigase与我的自定义数据库集成起来,以便从我的数据库中进行身份验证、获取名册和vcard信息。
发布于 2019-08-30 16:57:27
您的问题的答案是:“Tigase是否能够在用户成功身份验证时自动创建用户”实际上在链接文档中得到了回答:
要使身份验证数据库和主用户数据库之间的用户帐户保持同步,您必须在数据库连接URL的末尾添加以下选项:
autoCreateUser=true
目前,仅通过更改/调整配置无法从自定义存储库检索用户数据。
如果您想要使用自己的数据库完全管理用户,那么您必须自己实现UserRepository接口(您可以查看JDBCRepository实现来了解如何实现)
https://stackoverflow.com/questions/57720407
复制相似问题