【发布时间】:2019-05-14 20:32:28
【问题描述】:
如何为我的 django 频道应用程序实现多种身份验证方法? 我的意思是,我有一个基于令牌的身份验证和一个 AuthMiddlewareStack。
我如何维护这两个身份验证,以便为我的内部应用程序 websocket 数据消费者/通知/等管理会话中的 django 身份验证...并为第三方应用程序采用 websocket 令牌身份验证?
这是我的routing.py:
application = ProtocolTypeRouter({
# (http->django views is added by default)
'websocket': AuthMiddlewareStack(
URLRouter(
app.routing.websocket_test
)
),
"websocket": TokenAuthMiddlewareStack(
URLRouter([
app.routing.websocket_test
]),
)
})
谢谢。
【问题讨论】:
-
您可以将它们堆叠在一起,即将一个身份验证堆栈包装在另一个中。喜欢
FInakMiddleqareStack = TokenMiddlewareStack(AuthMiddlewareStack)。然后在你的路由器中使用FInalMiddlewareStack -
感谢@Ken4scholars,我昨天已经解决了我作为答案发布的实现。