我正在使用较旧的Autobahn|Python subclassing API,因此我可以包含票证身份验证以连接到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)
当我在我的计算机上运行完整的应用程序时,它完全可以完成所有步骤,但是当我在配置略有不同的测试服务器上运行它时,记录的唯一输出来自{{ 1}}方法。我需要身份验证才能发布消息。救命啊!