【问题标题】:Django, jwt authentication in django view, not just DRFdjango视图中的django,jwt身份验证,而不仅仅是DRF
【发布时间】:2019-12-29 23:02:13
【问题描述】:

我想在 django 中使用 jwt(可能是https://github.com/davesque/django-rest-framework-simplejwt

关于 jwt 的库文档和大多数网络博客都谈到了在 DRF 身份验证中使用 jwt。

但是我们有不基于 DRF 的 Django 常规视图。

我仍然可以为 DRF 和常规 django 视图使用一个 jwt 身份验证后端吗?

【问题讨论】:

    标签: django django-rest-framework django-rest-framework-simplejwt


    【解决方案1】:

    不,你不能。 DRF DEFAULT_AUTHENTICATION_CLASSES 和 Django AUTHENTICATION_BACKENDS 分别在 Session 和 Token-based 中处理身份验证。除此之外,它们是不同的命名空间。

    【讨论】:

    • 我想,我至少可以为 django 定义自定义 auth 后端,并重用 jwt auth 中的代码?
    • 是的。你可以。我鼓励你这样做。但请记住,那时你离约定很远。当您远离惯例时,社区对您的支持就会减少。
    • 是的,这很奇怪,如果出于某种原因首选 jwt 而不是 session,为什么 django 本身默认使用 session 而不是 jwt?
    • session 和 JWT 都有不同的服务目的。对于 REST 中的微服务,我们使用 JWT。但是,对于传统的 Web 应用程序,我们使用基于会话的身份验证。简而言之,JWT 用于不同的架构 (REST)。
    • 我不认为将 jwt 用于 django 视图是可能的(或非常困难的)。因为我们无法在 <a href /> 标记中注入身份验证令牌。
    猜你喜欢
    • 2018-01-25
    • 2019-12-30
    • 1970-01-01
    • 2022-10-05
    • 2021-03-25
    • 2019-01-01
    • 2021-06-18
    • 1970-01-01
    • 2019-03-01
    相关资源
    最近更新 更多