Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何强制WAMP票证验证?_Python_Twisted_Autobahn_Wamp Protocol - Fatal编程技术网

Python 如何强制WAMP票证验证?

Python 如何强制WAMP票证验证?,python,twisted,autobahn,wamp-protocol,Python,Twisted,Autobahn,Wamp Protocol,我使用的是旧版本,因此我可以包括连接到WAMP总线的票证验证。当我在本地机器上运行环境的所有部分时,一切都很好,很好——连接、质询、身份验证、消息发布——但是当我转到外部服务器上的测试环境时,身份验证的挑战似乎没有发生。我的子类如下所示: class ClientSession(ApplicationSession): def onConnect(self): log("Session connected") self.join(self.config.r

我使用的是旧版本,因此我可以包括连接到WAMP总线的票证验证。当我在本地机器上运行环境的所有部分时,一切都很好,很好——连接、质询、身份验证、消息发布——但是当我转到外部服务器上的测试环境时,身份验证的挑战似乎没有发生。我的子类如下所示:

class ClientSession(ApplicationSession):
    def onConnect(self):
        log("Session connected")
        self.join(self.config.realm, [u"ticket"], ROLE_ID)
    def onChallenge(self, challenge):
        log("Authentication challenged")
        if challenge.method == u"ticket":
            return TICKET
    @inlineCallbacks
    def onJoin(session, details):
        log("Connected to WAMP")
        while True:
            session.publish(u"topic", message)
            yield(60)
if __name__ == "__main__":
    RUNNER = ApplicationSession(url=WAMP_URL, realm=u"my-realm")
    RUNNER.run(ClientSession)

当我在我的计算机上运行完整的应用程序时,它会完美地完成所有步骤,但是当我在配置稍有不同的测试服务器上运行它时,记录的唯一输出是来自
onConnect
方法。我需要身份验证才能发布消息。救命啊

假设最少的猜测是,您的计算机和外部服务器之间的差异会产生差异。一个相关的猜测是,两种配置之间的网络差异会产生差异。但从这里进一步缩小范围是相当有挑战性的。一台计算机或一个网络与另一台不同的方式太多了。我认为解决您的问题将取决于减少这些配置之间的差异,直到它们足够相似,您可以发现剩余的重要差异。@Jean-PaulCalderone感谢您的建议。我在dev服务器上运行了本地配置,发现我没有在dev服务器上的正确路径中更新crossbar配置文件,因此它没有正确的主体。我猜这只是默默地失败了。我觉得自己很笨。很高兴你发现了问题。没有理由感到愚蠢。真的没有“简单的解释”这回事。这只是一个令人难以置信的浩瀚的细节海洋,每一个细节的最后一个角落都必须有正确的状态,事情才能顺利进行。。。偶尔有一两个角落会被忽视,这是很常见的。