0

我正在尝试使用 AutobahnPython 和 AutobahnJS 库开始使用 WAMP,但我无法让官方示例正常工作。这是我所做的:

pip-2.7 install autobahn    # this gave me ab 0.5.14, but I tried 0.6-git too
git clone git://github.com/tavendo/AutobahnPython.git
git checkout maintenance_v0_5
cd AutobahnPython/examples/wamp/authentication/
python2.7 server.py debug
firefox http://localhost:8080

我在服务器的调试输出中得到以下信息:

2013-03-29 15:11:23+0100 [-] Log opened.
2013-03-29 15:11:23+0100 [-] WampServerFactory starting on 9000
2013-03-29 15:11:23+0100 [-] Starting factory <autobahn.wamp.WampServerFactory instance at 0x132b5a8>
2013-03-29 15:11:23+0100 [-] WampServerFactory starting
2013-03-29 15:11:23+0100 [-] Site starting on 8080
2013-03-29 15:11:23+0100 [-] Starting factory <twisted.web.server.Site instance at 0x1779b90>
2013-03-29 15:11:28+0100 [HTTPChannel,0,127.0.0.1] 127.0.0.1 - - [29/Mar/2013:14:11:27 +0000] "GET / HTTP/1.1" 200 3429 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0"
2013-03-29 15:11:29+0100 [HTTPChannel,0,127.0.0.1] 127.0.0.1 - - [29/Mar/2013:14:11:28 +0000] "GET /favicon.ico HTTP/1.1" 404 145 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0"
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] TX WAMP: [0, "H0tcxzZW7g2aUKQ4", 1, "Autobahn/0.5.14"]
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] registered remote method on http://api.wamp.ws/procedure#auth
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] registered remote method on http://api.wamp.ws/procedure#authreq
2013-03-29 15:11:29+0100 [HTTPChannel,0,127.0.0.1] 127.0.0.1 - - [29/Mar/2013:14:11:28 +0000] "GET /favicon.ico HTTP/1.1" 404 145 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0"
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] RX WAMP: [2,"0.42w1p52zq5g","http://api.wamp.ws/procedure#authreq","foobar",null]
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] TX WAMP: [3, "0.42w1p52zq5g", "{\"extra\": {}, \"timestamp\": \"2013-03-29T14:11:29Z\", \"authid\": \"PmRmYauw3-2S_4Wh\", \"authkey\": \"foobar\", \"sessionid\": \"H0tcxzZW7g2aUKQ4\", \"authextra\": {\"keylen\": 32, \"salt\": \"RANDOM SALT\", \"iterations\": 10000}, \"permissions\": {\"rpc\": [{\"call\": true, \"uri\": \"http://example.com/procedures/hello\"}], \"pubsub\": [{\"prefix\": true, \"uri\": \"http://example.com/topics/\", \"pub\": true, \"sub\": true}]}}"]
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] RX WAMP: [2,"0.35zpscr4dpf","http://api.wamp.ws/procedure#auth","4xs7OnDnqHP+DiMqLnK95s36eiEhMRbkbUcRPJRHoOY="]

最后是服务器和客户端(浏览器日志)的以下错误:

2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] TX WAMP: [4, "0.35zpscr4dpf", "http://api.wamp.ws/error#invalid-signature", "signature for authentication request is invalid"]
2013-03-29 15:11:34+0100 [MyServerProtocol,0,127.0.0.1] RX WAMP: [7,"http://example.com/topics/mytopic1","Hello, world!"]
2013-03-29 15:11:34+0100 [MyServerProtocol,0,127.0.0.1] no topic / publication handler registered for http://example.com/topics/mytopic1

这里有什么问题?这是我的错吗?

4

1 回答 1

2

不,你没有做错任何事。使用 master 分支的当前负责人(不是维护 0.5)。Salted WAMP-CRA 身份验证(示例使用)有一些固定的东西不在维护 0.5 中。很抱歉给您带来麻烦。

这是 Firefox 连接的服务器日志:

oberstet@THINKPAD-T410S /f/scm/AutobahnPython/examples/wamp/authentication (master)
$ git log -1
commit f3165c51256334b97e6183bd0852c3102882e917
Author: Tobias Oberstein <tobias.oberstein@tavendo.de>
Date:   Tue Mar 26 12:15:52 2013 +0100

    add multiple protocols example

oberstet@THINKPAD-T410S /f/scm/AutobahnPython/examples/wamp/authentication (master)
$ python server.py debug
Auth Extra/Secrets
{'keylen': 32, 'salt': 'RANDOM SALT', 'iterations': 1000}
{'foobar': 'znWa4bxY1glpbQlZziHIlXA2shfF+HoCr9bnmZ5HPQg='}
2013-03-29 19:17:42+0100 [-] Log opened.
2013-03-29 19:17:42+0100 [-] WampServerFactory starting on 9000
2013-03-29 19:17:42+0100 [-] Starting factory <autobahn.wamp.WampServerFactory instance at 0x02934BC0>
2013-03-29 19:17:42+0100 [-] WampServerFactory starting
2013-03-29 19:17:42+0100 [-] Site starting on 8080
2013-03-29 19:17:42+0100 [-] Starting factory <twisted.web.server.Site instance at 0x036FDE18>
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] TX WAMP: [0, "7LHl79cVQEDZl_C5", 1, "Autobahn/0.6.0"]
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] registered remote method on http://api.wamp.ws/procedure#auth
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] registered remote method on http://api.wamp.ws/procedure#authreq
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] RX WAMP: [2,"0.c23s5q4pxf","http://api.wamp.ws/procedure#authreq","foobar",null]
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] TX WAMP: [3, "0.c23s5q4pxf", "{\"extra\": {}, \"timestamp\": \"2013-03-29T18:17:42Z\
", \"authid\": \"7NEQK0Gnrqxq1JRL\", \"authkey\": \"foobar\", \"sessionid\": \"7LHl79cVQEDZl_C5\", \"authextra\": {\"keylen\": 32, \"salt\":
 \"RANDOM SALT\", \"iterations\": 1000}, \"permissions\": {\"rpc\": [{\"call\": true, \"uri\": \"http://example.com/procedures/hello\"}], \"
pubsub\": [{\"prefix\": true, \"uri\": \"http://example.com/topics/\", \"pub\": true, \"sub\": true}]}}"]
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] RX WAMP: [2,"0.fscffb2cozr","http://api.wamp.ws/procedure#auth","LzKbKJb5K8D313P/bl1
tF4Z93bIZup8oR8+Am8PY8mc="]
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] registered topic http://example.com/topics/ for publication (match by prefix = True)

2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] registered topic http://example.com/topics/ for subscription (match by prefix = True
)
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] registered remote method on http://example.com/procedures/hello
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] TX WAMP: [3, "0.fscffb2cozr", {"rpc": [{"call": true, "uri": "http://example.com/pro
cedures/hello"}], "pubsub": [{"prefix": true, "uri": "http://example.com/topics/", "pub": true, "sub": true}]}]
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] RX WAMP: [5,"http://example.com/topics/mytopic1"]
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] subscriptions map created for topic http://example.com/topics/mytopic1
2013-03-29 19:17:42+0100 [MyServerProtocol,1,127.0.0.1] subscribed peer 127.0.0.1:55946 on topic http://example.com/topics/mytopic1
于 2013-03-29T18:15:11.587 回答