2016-05-18 25 views
0

问题陈述如何用django验证ejabberd?

我有一个普通的Django模型

Models.py

class Fan(models.Model): 
    user_id = models.CharField(unique=True, max_length=250) 
    ... 
    ... 

问题1

我如何对这个认证ejabberd JID user_id

问题2

哪个XMPP客户端(Android和网络),支持外接ejabberd认证?

我的做法

按照该文档我做下面的变化,

ejabberd.yml

auth_method: external 
extauth_program: "/home/niranj/Documents/entry.sh" 

entry.sh

#!/bin/bash 

workon orchestrator 
/usr/bin/python /home/niranj/Documents/work.py [email protected] 

work.py

import sys 
print sys.argv 

请注意,我已经提供了ejabberd权限访问上述

的文件,我总是在ejabberd.log收到以下错误

2016-05-18 15:13:11.202 [critical] <0.411.0>@extauth:loop:142 extauth script has exitted abruptly with reason 'normal' 

问我怎么解决这个问题?这个配置有什么问题吗?

回答

0

我已经找到了为问题3

work.py

import sys 

while True: 
    print sys.argv 

需要使环路无限循环,这是这里的关键解决方案。

由于这是固定的我的问题1也是固定的,这是显而易见的。