我想在我的应用程序中同时使用 token 和基于 session 的身份验证,优先级为 token 。我创建了两个具有相同 URL 的门户,一个使用 session ,另一个使用 token 。因此,当 session 在 cookie 中可用时,基于 token 的请求将失败,并显示“缺少 CSRF token ”错误消息。
我想到的一个解决方案是使用中间件,我可以优先考虑 token。如果两者都在请求中可用,那么自定义中间件将删除与 session 相关的内容并仅保留与 token 相关的信息并继续。
如果有人对此问题有可用的解决方案,请发帖回答?
提前致谢。
请您参考如下方法:
就我而言,我编写了自定义中间件来处理这种情况。 1. 当我使用 API 登录时,api 路径是 **/api/accounts/login**。因此,当请求出现在这个 url 上时,我将同时删除 sessionid 和 csrftoken。
当 HTTP_AUTHORIZATION 在请求中可用时,我删除了 session 和 csrftoken。
在我的情况下,可以处理以上两种删除情况。
感谢大家的帮助!
