如何用django验证ejabberd?

时间:2016-05-18 11:11:41

标签: python django ejabberd

问题陈述

我有一个普通的django模型

Models.py

ElementRef

问题1

  

如何针对此class Fan(models.Model): user_id = models.CharField(unique=True, max_length=250) ... ... 验证ejabberd JID?

问题2

  

哪个xmpp客户端(android和web)支持外部ejabberd身份验证?

我的方法

根据文档我做了以下更改,

ejabberd.yml

user_id

entry.sh

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

work.py

#!/bin/bash 

workon orchestrator
/usr/bin/python /home/niranj/Documents/work.py $@
  

请注意,我已提供ejabberd访问上述文件的权限

我总是在 ejabberd.log

中收到以下错误
import sys
print sys.argv

问题3

  

如何解决此错误?这个配置有什么问题吗?

1 个答案:

答案 0 :(得分:0)

我找到了问题3的解决方案

<强> work.py

let $attr1  := "JUR"
let $attr2  := "startpage"
let $value1 := "ht"
let $value2 := "174"

let $uri := //PP[P[fn:matches(@name, $attr1, "i") and @value=$value1] and 
    P[@name=$attr2 and @value=$value2]]/@uri
return $uri

需要将循环设置为无限循环,这是此处的关键。

由于这是固定的,我的问题1 也是固定的,这很明显。