【问题标题】:How to authenticate ejabberd with django?如何使用 django 对 ejabberd 进行身份验证?
【发布时间】:2016-09-14 20:06:26
【问题描述】:

问题陈述

我有一个普通的 django 模型

Models.py

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

问题 1

我如何针对这个user_id 验证 ejabberd JID?

问题 2

哪个 xmpp 客户端(android 和 web)支持外部 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 $@

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'

问题 3

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

【问题讨论】:

    标签: python django ejabberd


    【解决方案1】:

    我已经找到问题3的解决方案,

    work.py

    import sys
    
    while True:
        print sys.argv
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-12
      • 2019-01-10
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2019-03-02
      • 2010-11-16
      • 2013-12-20
      相关资源
      最近更新 更多