【问题标题】:How logout from Djoser (installed with Django Rest Framework)如何从 Djoser 注销(与 Django Rest Framework 一起安装)
【发布时间】:2020-07-07 15:51:12
【问题描述】:

我已经使用 Django Rest Framework 安装了 Djoser,在以 (url: /token/login) 身份登录后,我收到了一个令牌,但是当我将 url 更改为“/token/logout/”时,它显示错误,因为未提供日志凭据.

我正在使用浏览器 url 部分与 DRF 进行交互。

请告诉我正确的注销网址?我可以提供Token、用户名和密码。

【问题讨论】:

    标签: django django-rest-framework djoser


    【解决方案1】:

    我也被困在这个问题上。对我有用的是通过身份验证标头正常传递令牌并将其作为 json 数据传递。

    export const logout = (token) => {
     return url
      .post('api/auth/token/logout/', token,
       {
         headers: {
           Authorization: `Token ${token}`
         }
       })
     .then(res => res.data)
     }
    

    【讨论】:

    • 确实,我们也需要通过数据来传递它
    【解决方案2】:

    你有这样的吗

    #urls.py
    from django.contrib.auth import views as auth_views
    
    path('logout/', auth_views.LogoutView.as_view(), name='logout'),
    

    【讨论】:

    • 谢谢,但是没有用,下面是错误信息,HTTP 401 Unauthorized Allow: POST, OPTIONS Content-Type: application/json Vary: Accept WWW-Authenticate: Basic realm="api" { "detail": "未提供身份验证凭据。" }
    【解决方案3】:

    您需要在对注销 URL 的 POST 请求中包含授权令牌。

    【讨论】:

    • 尝试将此添加为评论或尝试详细说明您的答案。
    猜你喜欢
    • 2017-05-26
    • 2020-12-27
    • 2015-07-08
    • 2021-11-27
    • 1970-01-01
    • 2014-12-08
    • 2019-01-25
    • 2015-03-07
    相关资源
    最近更新 更多