我正在研究Django频道,并且有这个问题:假设我有一个路由频道:
websocket_urlpatterns = [
re_path(r'^ws/chat/(?P<id>[^/]+)/$', ChatConsumer),
]
事实证明,任何知道频道号的人都可以收听去往该地址的消息。也许您可以在套接字连接期间的某个时间发送数据(例如令牌)?
答案 0 :(得分:0)
使用Auth中间件
示例
from django.conf.urls import url
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.auth import AuthMiddlewareStack
from myapp import consumers
application = ProtocolTypeRouter({
"websocket": AuthMiddlewareStack(
URLRouter([
url(r"^front(end)/$", consumers.AsyncChatConsumer),
])
),
})