Python 如何使用django-ejabberd桥对用户进行身份验证
我正在尝试将ejabberd与django身份验证集成。我遵照以下指示: 我每走一步都跟着走 我已经定义了用于身份验证的脚本路径Python 如何使用django-ejabberd桥对用户进行身份验证,python,django,ejabberd,Python,Django,Ejabberd,我正在尝试将ejabberd与django身份验证集成。我遵照以下指示: 我每走一步都跟着走 我已经定义了用于身份验证的脚本路径 {auth_method, external}. {extauth_program, "script.sh"}. ( I have defined full path here ) 脚本文件的内容是: #!/bin/bash source <path>/env/bin/activate python <path>/manage.py ejab
{auth_method, external}.
{extauth_program, "script.sh"}. ( I have defined full path here )
脚本文件的内容是:
#!/bin/bash
source <path>/env/bin/activate
python <path>/manage.py ejabberd_auth $@
它应该问我用户名和密码。日志文件中只有一个日志:
2015-08-03 08:11:05,791 [DEBUG] ejabberd_bridge.management.commands.ejabberd_auth: Starting serving authentication requests for eJabberd
如何将用户数据发送到ejabberd?您对该身份验证模块的功能要求过高 django-ejabberd桥的目的是让ejabberd根据django身份验证中间件检查身份验证,如项目自述: 现在它只允许ejabberd服务执行 针对Django的身份验证中间件进行身份验证 例如,这与改变状态无关。该桥将在该工作流程中使用:
用户数据库不重复。它保存在后端服务中。这也是用户无法从web界面中列出的原因:ejabberd不处理它们。如果您只想显示用户状态,django-ejabberd桥可以管理它。您可以在web管理界面中看到在线用户。但就注册用户而言,django-ejabberd桥不能做到这一点。如果您想将用户从django注册到XMPP,那么应该使用javascript库进行查询,如,等等
我还没有尝试使用注册用户。Strophe提供了用于注册用户的插件。用户想要使用XMPP客户端登录ejabberd:您是指ejabberd服务器UI登录(localhost:5280/admin),还是我必须安装单独的包才能启用XMPP客户端登录。ejabberd中有一个统一的身份验证,因此,它同时适用于XMPP客户端和web控制台。用户不会被复制并存储在ejabberd数据库中。因此,它们不能从web管理界面显示,因为ejabberd无权访问用户列表。它只是根据需要根据收到的用户名和凭证查询身份验证服务。
2015-08-03 08:11:05,791 [DEBUG] ejabberd_bridge.management.commands.ejabberd_auth: Starting serving authentication requests for eJabberd