我想将授权包括到我的Bokeh-Web应用程序中。 (该应用程序运行良好)。但是,如果我尝试通过会话ID:bokeh serve stocks --session-ids external-signed
并将创建的密钥添加到http://localhost:5006/stocks/?bokeh-session-id=...
来执行此操作,则会收到错误/消息:
bokeh serve stocks --session-ids external-signed
2019-06-18 15:57:24,923 Starting Bokeh server version 1.2.0 (running on Tornado 5.0.2)
2019-06-18 15:57:24,926 Bokeh app running at:
http://localhost:5006/stocks
2019-06-18 15:57:24,926 Starting Bokeh server with process id: 29518
2019-06-18 15:57:36,811 403 GET /stocks (::1) 1.64ms
2019-06-18 15:57:46,800 200 GET /stocks/?my_key (::1) 417.40ms
2019-06-18 15:57:46,812 404 GET /stocks/static/css/bokeh.min.css?v=8a37df7874e86834c87075ee096f36b7 (::1) 1.14ms
2019-06-18 15:57:46,826 404 GET /stocks/static/js/bokeh-gl.min.js?v=237dac0049e0a21220ba02fa552173a1 (::1) 1.75ms
2019-06-18 15:57:46,829 404 GET /stocks/static/css/bokeh-widgets.min.css?v=5fb15c2fc1344abfe5fa3615a34beae7 (::1) 1.10ms
2019-06-18 15:57:46,834 404 GET /stocks/static/css/bokeh-tables.min.css?v=69a9e725f277a6c569c9261b8ffe50eb (::1) 4.46ms
2019-06-18 15:57:46,836 404 GET /stocks/static/js/bokeh.min.js?v=1bfbafacfa847bc6589a4af73a904fef (::1) 1.29ms
2019-06-18 15:57:46,838 404 GET /stocks/static/js/bokeh-widgets.min.js?v=d568632a768b6d5e0dcc8c423778d737 (::1) 0.98ms
2019-06-18 15:57:46,840 404 GET /stocks/static/js/bokeh-tables.min.js?v=e840bf73f9fef1bffb5540a1aab13c0d (::1) 1.55ms
2019-06-18 15:57:46,854 404 GET /stocks/static/js/bokeh-gl.min.js?v=237dac0049e0a21220ba02fa552173a1 (::1) 2.11ms
答案 0 :(得分:0)
目前尚不清楚您最终要完成什么。签名的会话确实适用于要将Bokeh服务器应用程序嵌入另一个Web应用程序,但又希望限制会话创建的情况。通常,您将启动类似于以下内容的Bokeh服务器:
BOKEH_SECRET_KEY=`bokeh secret` bokeh serve --session-ids external-signed --show app.py
然后在要嵌入Bokeh服务器应用程序的其他Web应用程序中(但仅在您签名会话ID时才允许打开会话),您将执行以下操作:
from bokeh.util.session_id import generate_session_id
script = server_session(
url='http://111.222.333.444/app',
session_id=generate_session_id()
)
return render_template("embed.html", script=script, template="Flask")
请注意,另一个嵌入Bokeh服务器应用程序的应用程序将需要相同的BOKEH_SECRET_KEY
集,以便generate_session_id
能够创建ID,该Bokeh服务器将实际成功地验证会话ID。
在出现问题的情况下,可能需要明确提及:ID必须使用BOKEH_SECRET_KEY
进行加密签名,它不能只是您选择的任意随机值。目的是将会话创建仅限于知道密钥的授权Web应用程序。