应用程序堆栈如下所示:
后端:Django DRF +频道,
用于身份验证的我正在使用:
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
),
前端(django后端不提供):Vue JS应用程序,使用生成的客户端(@ openapitools / openapi-generator-cli“)库对后端进行身份验证/执行操作。 我可以使用基于rest的身份验证,检索可用于以下rest-api调用的令牌,但是我也想在vue websocket <-> django通道通信中使用该令牌。
问题是:
如何在渠道使用方上使用身份验证?如果我登录django admin页面,传入的websocket连接会立即识别范围内的admin用户,但是如果我使用任何其他身份验证,则不会。
我在这里看到的是使用默认的管理页面登录名,它将sessionid和csrf令牌另存为cookie。
当我尝试使用客户端api调用复制相同的身份验证行为时,我可以在浏览器网络流量上看到发送了正确的Set-Cookies,其中包含此信息,但是我无法设置。是否应默认设置?我想念什么?